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.