EventEmitter
An EventEmitter
is an object that emits named events that cause listeners to be called.
import { EventEmitter } from 'node:events';const emitter = new EventEmitter();emitter.on('hello', (...args) => {console.log(...args);});emitter.emit('hello', 1, 2, 3);
The implementation in the Workers runtime fully supports the entire Node.js EventEmitter
API. This includes the captureRejections
option that allows improved handling of async functions as event handlers:
const emitter = new EventEmitter({ captureRejections: true });emitter.on('hello', async (...args) => {throw new Error('boom');});emitter.on('error', (err) => {// the async promise rejection is emitted here!});
Refer to the
Node.js documentation for EventEmitter
for more information.