Vinay Kumar

Event emitter in Node.js

Node.js is asynchronous in nature and widely make use of event driven architecture in its core. Emitters are objects that emit named events which are picked up and processed by function objects named listeners.

By initializing an instance of EventEmitter class, we can make use of on method that registers one or more functions to named events emitted by the object. To trigger the event, emit method is used.

For better understanding let's define a LogEmitter class which emits levels of logging as events and process them accordingly by the corresponding listener.

The EventEmitter object also expose methods named removeListener or removeAllListeners to remove listener from an event. You can read more about events and their available methods from official node.js docs.