InterviewHubPRO
Section Overview
Q25

Question 25 of 60

Part 3: Streams, Buffers & Core Modules (21 - 35)

42%
Node.js & Libuv•Part 3: Streams, Buffers & Core Modules (21 - 35)

The EventEmitter Class & `MaxListenersExceededWarning`.

In Simple Words: Maintains internal arrays of listener functions per event name. Default warning threshold is 10 listeners per event. If exceeded, Node.js logs a warning to prevent memory leaks from forgotten listeners.

javascript
const EventEmitter = require('events');
const emitter = new EventEmitter();

// Increase limit if intentional:
emitter.setMaxListeners(20);

// Always remove listeners when finished to prevent memory leaks:
const onData = (data) => console.log(data);
emitter.on('data', onData);
emitter.off('data', onData);