import { EventEmitter } from "node:events";
const events = new EventEmitter();
events.once("ready", (value) => console.log(value));
events.emit("ready", 42);Поддерживаемое поведение включает упорядоченный синхронный вызов слушателей,
однократные слушатели, удаление слушателей, уведомления newListener и removeListener,
предупреждения о превышении максимального числа слушателей и выбрасывание необработанного события
error.
Модуль включает:
EventEmitter,once,onиlistenerCountgetEventListeners,getMaxListenersиsetMaxListenersaddAbortListener,errorMonitorиcaptureRejectionSymbolEventEmitterAsyncResource
Экспортируемая функция once(emitter, name, { signal }) отклоняется с AbortError, когда
сигнал прерывается, в том числе после создания Promise.
С параметром конструктора captureRejections отклонённый Promise асинхронного
слушателя перенаправляется в событие error эмиттера.
Стандартные сигнатуры методов описаны в документации Node.js по events.
Reference
Status: Full · 34 of 38 suite tests pass (89.5%) · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
EventEmitter | class | Full | addListener(), on(), once(), prependListener(), prependOnceListener(), removeListener(), off(), removeAllListeners(), emit(), listenerCount(), listeners(), rawListeners(), eventNames(), setMaxListeners(), getMaxListeners(), EventEmitter., EventEmitter.once(), EventEmitter. |
Tests: node-api node:events: 34 pass, 3 fail, 1 error, 6 skipped. Failing: test-event-capture-rejections.js, test-eventemitter-asyncresource.js, test-events-once.js, test-eventsource.js.