コンテンツにスキップ

EventEmitter

EventEmitterは、リスナーを呼び出す原因となる名前付きイベントを発生させるオブジェクトです。

import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.on('hello', (...args) => {
console.log(...args);
});
emitter.emit('hello', 1, 2, 3);

Workersランタイムの実装は、Node.jsのEventEmitter API全体を完全にサポートしています。これには、イベントハンドラーとしての非同期関数の処理を改善するcaptureRejectionsオプションが含まれています:

const emitter = new EventEmitter({ captureRejections: true });
emitter.on('hello', async (...args) => {
throw new Error('boom');
});
emitter.on('error', (err) => {
// 非同期のプロミス拒否がここで発生します!
});

詳細については、Node.jsのEventEmitterに関するドキュメントを参照してください。