Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

std/node/events.ts>EventEmitter

Deno standard library
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
class EventEmitter
import { EventEmitter } from "https://deno.land/std@0.106.0/node/events.ts";

Constructors

new
EventEmitter()

Properties

private
_events: EventMap
private
maxListeners: number | undefined

Methods

private
_addListener(
eventName: string | symbol,
prepend: boolean,
): this
private
_listeners(
target: EventEmitter,
eventName: string | symbol,
unwrap: boolean,
): GenericFunction[]
private
checkListenerArgument(listener: unknown): void
private
hasListeners(eventName: string | symbol): boolean
private
onceWrap(eventName: string | symbol, listener: GenericFunction): WrappedFunction
private
warnIfNeeded(eventName: string | symbol, warning: Error): void
addListener(eventName: string | symbol, listener: GenericFunction | WrappedFunction): this

Alias for emitter.on(eventName, listener).

emit(eventName: string | symbol, ...args: any[]): 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.

eventNames(): [string | symbol]

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

getMaxListeners(): number

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

listenerCount(eventName: string | symbol): number

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

listeners(eventName: string | symbol): GenericFunction[]

Returns a copy of the array of listeners for the event named eventName.

off(eventName: string | symbol, listener: GenericFunction): this

Alias for emitter.removeListener().

on(eventName: string | symbol, listener: GenericFunction | WrappedFunction): this

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.

once(eventName: string | symbol, listener: GenericFunction): this

Adds a one-time listener function for the event named eventName. The next time eventName is triggered, this listener is removed and then invoked.

prependListener(eventName: string | symbol, listener: GenericFunction | WrappedFunction): this

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.

prependOnceListener(eventName: string | symbol, listener: GenericFunction): this

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.

rawListeners(eventName: string | symbol): Array<GenericFunction | WrappedFunction>

Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).

removeAllListeners(eventName?: string | symbol): this

Removes all listeners, or those of the specified eventName.

removeListener(eventName: string | symbol, listener: GenericFunction): this

Removes the specified listener from the listener array for the event named eventName.

setMaxListeners(n: number): this

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. Obviously, not all events should be limited to just 10 listeners. 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.

Static Properties

captureRejectionSymbol
defaultMaxListeners: number
errorMonitor: symbol

Static Methods

listenerCount(emitter: EventEmitter, eventName: string | symbol): number
on(emitter: EventEmitter, event: string | symbol): AsyncIterable

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.

once(emitter: EventEmitter | EventTarget, name: string): Promise<any[]>

Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected when the EventEmitter emits 'error'. The Promise will resolve with an array of all the arguments emitted to the given event.