Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:348
emit
@@ -157,7 +157,7 @@ regular 'error' listener is installed.
Synchronously calls each of the listeners registered for the event namedeventName, in the order they were registered, passing the supplied arguments
to each.
Returns true if the event had listeners, false otherwise.
// First listener myEmitter.on('event', functionfirstListener() { console.log('Helloooo! first listener'); }); // Second listener myEmitter.on('event', functionsecondListener(arg1, arg2) { console.log(`event with parameters ${arg1}, ${arg2} in second listener`); }); // Third listener myEmitter.on('event', functionthirdListener(...args) { constparameters = args.join(', '); console.log(`event with parameters ${parameters} in third listener`); });
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints: // [ // [Function: firstListener], // [Function: secondListener], // [Function: thirdListener] // ] // Helloooo! first listener // event with parameters 1, 2 in second listener // event with parameters 1, 2, 3, 4, 5 in third listener
+
// First listener myEmitter.on('event', functionfirstListener() { console.log('Helloooo! first listener'); }); // Second listener myEmitter.on('event', functionsecondListener(arg1, arg2) { console.log(`event with parameters ${arg1}, ${arg2} in second listener`); }); // Third listener myEmitter.on('event', functionthirdListener(...args) { constparameters = args.join(', '); console.log(`event with parameters ${parameters} in third listener`); });
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints: // [ // [Function: firstListener], // [Function: secondListener], // [Function: thirdListener] // ] // Helloooo! first listener // event with parameters 1, 2 in second listener // event with parameters 1, 2, 3, 4, 5 in third listener
Since
v0.1.26
@@ -172,7 +172,7 @@ to each.
Returns boolean
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:610
eventNames
@@ -180,7 +180,7 @@ to each.
Returns an array listing the events for which the emitter has registered
listeners. The values in the array are strings or Symbols.
@@ -188,7 +188,7 @@ listeners. The values in the array are strings or Symbols.
Returns (string | symbol)[]
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:673
getMaxListeners
@@ -202,15 +202,15 @@ set by emitter.setMaxListeners(n) or defaults to Returns number
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:525
listenerCount
listenerCount(eventName, listener?): number
-
Returns the number of listeners listening to the event named eventName.
-
If listener is provided, it will return how many times the listener
-is found in the list of the listeners of the event.
+
Returns the number of listeners listening for the event named eventName.
+If listener is provided, it will return how many times the listener is found
+in the list of the listeners of the event.
Since
v3.2.0
@@ -228,14 +228,14 @@ is found in the list of the listeners of the event.
Returns number
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:619
listeners
listeners(eventName): Function[]
Returns a copy of the array of listeners for the event named eventName.
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:498
on
@@ -294,7 +294,7 @@ times.
Returns a reference to the EventEmitter, so that calls can be chained.
By default, event listeners are invoked in the order they are added. Theemitter.prependListener() method can be used as an alternative to add the
event listener to the beginning of the listeners array.
-
constmyEE = newEventEmitter(); myEE.on('foo', () =>console.log('a')); myEE.prependListener('foo', () =>console.log('b')); myEE.emit('foo'); // Prints: // b // a
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:380
once
@@ -337,7 +337,7 @@ next time eventName is triggered, this listener is removed and then
Returns a reference to the EventEmitter, so that calls can be chained.
By default, event listeners are invoked in the order they are added. Theemitter.prependOnceListener() method can be used as an alternative to add the
event listener to the beginning of the listeners array.
-
constmyEE = newEventEmitter(); myEE.once('foo', () =>console.log('a')); myEE.prependOnceListener('foo', () =>console.log('b')); myEE.emit('foo'); // Prints: // b // a
+
// Returns a new Array with a function `onceWrapper` which has a property // `listener` which contains the original listener bound above constlisteners = emitter.rawListeners('log'); constlogFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event logFnWrapper.listener();
// Logs "log once" to the console and removes the listener logFnWrapper();
emitter.on('log', () =>console.log('log persistently')); // Will return a new Array with a single function bound by `.on()` above constnewListeners = emitter.rawListeners('log');
// Returns a new Array with a function `onceWrapper` which has a property // `listener` which contains the original listener bound above constlisteners = emitter.rawListeners('log'); constlogFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event logFnWrapper.listener();
// Logs "log once" to the console and removes the listener logFnWrapper();
emitter.on('log', () =>console.log('log persistently')); // Will return a new Array with a single function bound by `.on()` above constnewListeners = emitter.rawListeners('log');
removeListener() will remove, at most, one instance of a listener from the
listener array. If any single listener has been added multiple times to the
@@ -506,7 +506,7 @@ called multiple times to remove each instance.
Once an event is emitted, all listeners attached to it at the
time of emitting are called in order. This implies that anyremoveListener() or removeAllListeners() calls after emitting and before the last listener finishes execution
will not remove them fromemit() in progress. Subsequent events behave as expected.
// callbackA removes listener callbackB but it will still be called. // Internal listener array at time of emit [callbackA, callbackB] myEmitter.emit('event'); // Prints: // A // B
// callbackB is now removed. // Internal listener array [callbackA] myEmitter.emit('event'); // Prints: // A
+
// callbackA removes listener callbackB but it will still be called. // Internal listener array at time of emit [callbackA, callbackB] myEmitter.emit('event'); // Prints: // A // B
// callbackB is now removed. // Internal listener array [callbackA] myEmitter.emit('event'); // Prints: // A
Because listeners are managed using an internal array, calling this will
change the position indices of any listener registered after the listener
@@ -516,7 +516,7 @@ the emitter.listeners() method will need to be recreated.
When a single function has been added as a handler multiple times for a single
event (as in the example below), removeListener() will remove the most
recently added instance. In the example the once('ping')listener is removed:
// Emit later on process.nextTick(() => { ee.emit('foo', 'bar'); ee.emit('foo', 42); });
forawait (consteventofon(ee, 'foo')) { // The execution of this inner block is synchronous and it // processes one event at a time (even with await). Do not use // if concurrent execution is required. console.log(event); // prints ['bar'] [42] } // Unreachable here })();
+
import { on, EventEmitter } from'node:events'; importprocessfrom'node:process';
constee = newEventEmitter();
// Emit later on process.nextTick(() => { ee.emit('foo', 'bar'); ee.emit('foo', 42); });
forawait (consteventofon(ee, 'foo')) { // The execution of this inner block is synchronous and it // processes one event at a time (even with await). Do not use // if concurrent execution is required. console.log(event); // prints ['bar'] [42] } // Unreachable here
Returns an AsyncIterator that iterates eventName events. It will throw
if the EventEmitter emits 'error'. It removes all listeners when
exiting the loop. The value returned by each iteration is an array
composed of the emitted event arguments.
An AbortSignal can be used to cancel waiting on events:
-
const { on, EventEmitter } = require('events'); constac = newAbortController();
(async () => { constee = newEventEmitter();
// Emit later on process.nextTick(() => { ee.emit('foo', 'bar'); ee.emit('foo', 42); });
forawait (consteventofon(ee, 'foo', { signal:ac.signal })) { // The execution of this inner block is synchronous and it // processes one event at a time (even with await). Do not use // if concurrent execution is required. console.log(event); // prints ['bar'] [42] } // Unreachable here })();
process.nextTick(() =>ac.abort());
+
import { on, EventEmitter } from'node:events'; importprocessfrom'node:process';
constac = newAbortController();
(async () => { constee = newEventEmitter();
// Emit later on process.nextTick(() => { ee.emit('foo', 'bar'); ee.emit('foo', 42); });
forawait (consteventofon(ee, 'foo', { signal:ac.signal })) { // The execution of this inner block is synchronous and it // processes one event at a time (even with await). Do not use // if concurrent execution is required. console.log(event); // prints ['bar'] [42] } // Unreachable here })();
process.nextTick(() =>ac.abort());
Since
v13.6.0, v12.16.0
@@ -652,7 +652,7 @@ composed of the emitted event arguments.
+
Defined in node_modules/.pnpm/@types+node@20.1.1/node_modules/@types/node/events.d.ts:250
Staticonce
@@ -664,15 +664,15 @@ The Promise will resolve with an array of all the arguments emitted
given event.
This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event
semantics and does not listen to the 'error' event.
The special handling of the 'error' event is only used when events.once()is used to wait for another event. If events.once() is used to wait for the
'error' event itself, then it is treated as any other kind of event without
special handling:
Synchronously calls each of the listeners registered for the event named
eventName
, in the order they were registered, passing the supplied arguments to each.Returns
-true
if the event had listeners,false
otherwise.