Comments (9)
You can pretty much copy https://github.com/nodejs/node/pull/26078/files, there have been no changes to the once
function since that PR
from events.
@goto-bus-stop as far as I see - there is already some .once
implementation. And the existing one is incompatible with a new description
https://github.com/Gozala/events/blob/master/tests/once.js
from events.
@vvscode That's require('events').EventEmitter.prototype.once
, rather than require('events').once
from events.
Yes, there is already a EventEmitter.prototype.once
method that adds an event listener:
var emitter = new EventEmitter()
emitter.once('xyz', function (arg1, arg2) {
})
This is for the new EventEmitter.once
method that returns a Promise instead:
var emitter = new EventEmitter()
var [arg1, arg2] = await EventEmitter.once(emitter, 'xyz')
from events.
We don't have any build system for events.js
. The tests are bundled using browserify but without babel or anything, so they should work in old browsers as much as possible (eg always use .then()
instead of await
).
The goal is to have identical behaviour to Node.js, so I think our tests should at least be based on Node's. they can be rewritten a bit (and have to be ported to older JS) but they should test the same functionality.
from events.
@Doogiemuc hmm, I don't see it? that would break the entire ecosystem so I hope they wouldn't do that :)
There are two .once()
functions: the long-time emitter.once(eventName, callback)
method and the newer EventEmitter.once(emitter, eventName)
associated function.
from events.
It really should have gotten a distinct name 😄
from events.
Ok. A frew more questions - don't you use any build system for https://github.com/Gozala/events/blob/master/events.js ?
Is it required copy-paste tests or I can write to them by myself?
from events.
Most recent version of NodeJS v12.10.0 changed the order of arguments for theonce
method: https://nodejs.org/api/events.html
from events.
Related Issues (20)
- off is not a function HOT 2
- unbind events HOT 2
- Backport off to v2 as non-breaking change HOT 1
- TypeError: Cannot read property 'EventEmitter' of undefined typescript nodejs HOT 1
- Function.prototype.apply can be undefined HOT 2
- unhandled 'error' events should throw the error on next tick (setTimeout or setImmediate) HOT 2
- Not working in child process to parent process HOT 1
- spliceOne performance HOT 1
- Implement `events.on` HOT 2
- Implement `EventTarget` and `Event` HOT 1
- why 'on' function implement two times? HOT 1
- Support AbortSignal HOT 4
- Events.js has unhandled errors and errors regarding ports
- Question: why do not use events.forEach in emit() function? HOT 7
- how do I load this with vite/sveltekit? HOT 2
- Plan to fix CVE? HOT 1
- Support setMaxListeners
- Vulnerability CVE-2018-25076 Found in events 3.3.0 HOT 1
- Minimalist version HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from events.