# 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.

Availability
8.1.0
8.1.0
9.2.0
Extends
Object

NOTE

This is an abstract type. Any object of this structure can be used where this type is used.

# Methods

# addListener

Availability
8.1.0
8.1.0
9.2.0
addListener(eventName, listener) EventEmitter

Alias for on

Parameters

Name Type Description
eventName String

The event name

listener Function

The event listener/callback function

Returns


# emit

Availability
8.1.0
8.1.0
9.2.0
emit(eventName[, ...args]) Boolean

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

Availability
8.1.0
8.1.0
9.2.0
eventNames() Array<String>

Returns an array listing the events for which the emitter has registered listeners.

Returns

Type
Array<String>

# getMaxListeners

Availability
8.1.0
8.1.0
9.2.0
getMaxListeners() Number

Returns the current max listener value for the EventEmitter which is either set by setMaxListeners or defaults to defaultMaxListeners.

Returns

Type
Number

# listenerCount

Availability
8.1.0
8.1.0
9.2.0
listenerCount(eventName) Number

Returns the number of listeners listening to the event named eventName.

Parameters

Name Type Description
eventName String

The event name

Returns

Type
Number

# listeners

Availability
8.1.0
8.1.0
9.2.0
listeners(eventName) Array<Function>

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

Availability
8.1.0
8.1.0
9.2.0
off(eventName, listener) EventEmitter

Alias for removeListener.

Parameters

Name Type Description
eventName String

The event name

listener Function

The event listener/callback function

Returns


# on

Availability
8.1.0
8.1.0
9.2.0
on(eventName, listener) EventEmitter

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


# once

Availability
8.1.0
8.1.0
9.2.0
once(eventName, listener) EventEmitter

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


# prependListener

Availability
8.1.0
8.1.0
9.2.0
prependListener(eventName, listener) EventEmitter

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


# prependOnceListener

Availability
8.1.0
8.1.0
9.2.0
prependOnceListener(eventName, listener) EventEmitter

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


# rawListeners

Availability
8.1.0
8.1.0
9.2.0
rawListeners(eventName) Array<Function>

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

Availability
8.1.0
8.1.0
9.2.0
removeAllListeners([eventName]) EventEmitter

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


# removeListener

Availability
8.1.0
8.1.0
9.2.0
removeListener(eventName, listener) EventEmitter

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


# setMaxListeners

Availability
8.1.0
8.1.0
9.2.0
setMaxListeners(n) EventEmitter

By default EventEmitters 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

# Events

# newListener

Availability
8.1.0
8.1.0
9.2.0

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

Availability
8.1.0
8.1.0
9.2.0

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.