A fundamental pattern for event-driven programming.
01
01
Understand the problem
event emittereventsarchitecturedesign patterns
02
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
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Define and use an emitter
import { EventEmitter } from 'node:events';
class Job extends EventEmitter {}
const job = new Job();
job.on('progress', (pct) => console.log('progress', pct));
job.once('done', (r) => console.log('done', r));
job.on('error', (e) => console.error('handled:', e.message)); // always add!
job.emit('progress', 50);
job.emit('done', { ok: true });05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.