var events = require('events');
var eventEmit = new events.EventEmitter();
// listener1 / handler 1
var functionCalled = function(name) {
console.log('Hi EventOccurred and functionCalled ' + name.toString())
}
// listener2 /handler 2
var functionCalled2 = function() {
console.log('Hi Event2Occurred and functionCalled2')
}
// listener3 / handler 3
var listener3 = function() {
console.log("Hi this is listener 3")
}
// two ways of adding (binding) listeners
eventEmit.addListener('Event2Occurred', functionCalled2);
eventEmit.on('EventOccurred', functionCalled);
// emit the above two events
eventEmit.emit('EventOccurred', 'EventOccurred');
eventEmit.emit('Event2Occurred')
// bind the event to listener3 . We will not emit this event.
eventEmit.on('EventOccurred', listener3)
// count the listerner of an event
countListeners = eventEmit.listenerCount('EventOccurred')
// remove the listers
eventEmit.removeListener("EventOccurred", listener3)
console.log('Total listeners of event "EventOccurred" before Removing listener3 (Handler) :=' + countListeners)
console.log('Total listeners of event "EventOccurred" after Removing listener3 (Handler) :=' + eventEmit.listenerCount('EventOccurred'));
Node.js Events Example
