mediumBackend

What does the events.once() helper do and how does it bridge EventEmitter and async/await?

768 views
01

Understand the problem

Awaiting a single emitted event as a promise.

nodejseventsasynceventemitter
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Await a server starting
import { once } from 'node:events';
import { createServer } from 'node:http';

const server = createServer().listen(3000);
await once(server, 'listening');     // resolves when ready
console.log('server is up');

// With a deadline:
await once(server, 'listening', { signal: AbortSignal.timeout(5000) });
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.