# EventEmitter
The EventEmitter class is defined and exposed by the events module:
const EventEmitter = require('events');
All EventEmitters emit the event 'newListener' when new listeners are added and 'removeListener' when existing listeners are removed.
NOTE
This is an abstract type. Any object of this structure can be used where this type is used.
# Methods
# addListener
Alias for on
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# emit
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.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
args | any | Optional arguments to pass along to event listeners |
Returns
- Type
- Boolean
# eventNames
Returns an array listing the events for which the emitter has registered listeners.
Returns
- Type
- Array<String>
# getMaxListeners
Returns the current max listener value for the EventEmitter
which is either set by setMaxListeners or defaults to defaultMaxListeners.
Returns
- Type
- Number
# listenerCount
Returns the number of listeners listening to the event named eventName
.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
Returns
- Type
- Number
# listeners
Returns a copy of the array of listeners for the event named eventName
.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
Returns
- Type
- Array<Function>
# off
Alias for removeListener.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# on
Adds the listener function to the end of the listeners array for the event named eventName.
No checks are made to see if the listener has already been added.
Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# once
Adds a one-time listener function for the event named eventName
. The next time eventName
is triggered, this listener is removed and then invoked.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# prependListener
Adds the listener function to the beginning of the listeners array for the event named eventName
.
No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventName and listener will result in the listener being added, and called, multiple times.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# prependOnceListener
Adds a one-time listener function for the event named eventName
to the beginning of the listeners array. The next time eventName
is triggered, this listener is removed, and then invoked.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# rawListeners
Returns a copy of the array of listeners for the event named eventName
, including any wrappers (such as those created by .once()
).
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
Returns
- Type
- Array<Function>
# removeAllListeners
Removes all listeners, or those of the specified eventName
.
It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter
instance was created by some other component or module (e.g. sockets or file streams).
Returns a reference to the EventEmitter
, so that calls can be chained.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
Returns
- Type
- EventEmitter
# removeListener
Removes the specified listener from the listener array for the event named eventName
.
Parameters
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event listener/callback function |
Returns
- Type
- EventEmitter
# setMaxListeners
By default EventEmitter
s will print a warning if more than 10
listeners are added for a particular event.
This is a useful default that helps finding memory leaks.
The emitter.setMaxListeners()
method allows the limit to be modified for this specific EventEmitter
instance.
The value can be set to Infinity
(or 0
) to indicate an unlimited number of listeners.
Parameters
Name | Type | Description |
---|---|---|
n | Number | new max listener count |
Returns
- Type
- EventEmitter
# Events
# newListener
The 'newListener'
event is emitted after the listener is added.
Properties
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event handler function |
source | Object | Source object that fired the event. |
type | String | Name of the event fired. |
bubbles | Boolean | True if the event will try to bubble up if possible. |
cancelBubble | Boolean | Set to true to stop the event from bubbling. |
# removeListener
The 'removeListener'
event is emitted after the listener is removed.
Properties
Name | Type | Description |
---|---|---|
eventName | String | The event name |
listener | Function | The event handler function |
source | Object | Source object that fired the event. |
type | String | Name of the event fired. |
bubbles | Boolean | True if the event will try to bubble up if possible. |
cancelBubble | Boolean | Set to true to stop the event from bubbling. |