Перейти к содержимому

node:events

Совместимый с Node EventEmitter и вспомогательные функции для событий.

На этой странице
Open in ChatGPTOpen in Claude
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 и listenerCount
  • getEventListeners, getMaxListeners и setMaxListeners
  • addAbortListener, errorMonitor и captureRejectionSymbol
  • EventEmitterAsyncResource

Экспортируемая функция 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

ExportKindStatusNotes
EventEmitterclassFulladdListener(), on(), once(), prependListener(), prependOnceListener(), removeListener(), off(), removeAllListeners(), emit(), listenerCount(), listeners(), rawListeners(), eventNames(), setMaxListeners(), getMaxListeners(), EventEmitter.defaultMaxListeners, EventEmitter.once(), EventEmitter.listenerCount()

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.

Была ли эта страница полезной?