Node.js › Core Node.js Modules
What does the node:events module's EventEmitter class provide, and what naming convention do most Node.js core APIs follow when using it?
BeginnerAnswer
EventEmitter enables the publish/subscribe pattern -- objects extending it emit named events via .emit(), subscribed via .on() or .once(). Core APIs built on streams and servers follow lowercase, camelCase event names like 'data', 'error', 'close', a convention userland libraries typically follow too.
const emitter = new EventEmitter();
emitter.once('ready', () => console.log('Ready fired once'));
emitter.emit('ready');Real-world example A job-processing library built on EventEmitter emits 'started', 'progress', and 'completed' events, following familiar conventions that make the API immediately intuitive to Node.js developers.