Beginner LevelNode JS
How does the EventEmitter class work in Node.js (on, emit, once, removeListener)?
❓ Interview Prompt: Explain `node:events` module, EventEmitter pattern, registering listeners (`on`, `once`), emitting events (`emit`), and memory leaks.
The 'EventEmitter' class in 'node:events' underpins core Node.js objects (HTTP servers, streams, sockets):
Key Methods:
•
'on(event, listener)': Registers persistent event listener callback.
•
'once(event, listener)': Registers listener executed ONLY ONCE, then automatically removed.
•
'emit(event, ...args)': Synchronously calls all registered listeners with arguments.
Code Implementation Example
javascript
import { EventEmitter } from 'node:events';
class OrderTracker extends EventEmitter {
placeOrder(orderId) {
console.log('Order placed: ${orderId}');
this.emit('order:placed', { orderId, timestamp: Date.now() });
}
}
const tracker = new OrderTracker();
tracker.on('order:placed', (data) => {
console.log('Sending email for order #${data.orderId}');
});
tracker.placeOrder('1052');💡Creating custom EventEmitter classes and publishing event topics.
🎯 Interview Key Takeaway
Use EventEmitter to build decoupled event-driven modules in Node.js.
#EventEmitter#Events#Publish-Subscribe#Beginner
Back to all Node JS Questions→