Перейти до вмісту

node:events

EventEmitter і допоміжні засоби подій, сумісні з Node.

На цій сторінці
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.

Чи була ця сторінка корисною?