10LOC

#events

Node.jsintermediate

events.once() to await a single event without a listener callback

import { EventEmitter, once } from "node:events";

export const waitForReady = (emitter: EventEmitter) => once(emitter, "ready");

const bus = new EventEmitter();

events.once() turns a single EventEmitter event into an awaitable promise, replacing a one-shot .on() + manual .off() with one line.