Event Emitter
What is event emitter?
Why is it useful? When to use?
How?
What is event emitter?
Event Emitter allows to subscribe events and invoke functions when related event is published. It is very similar to addEventListener
on browser. The function will be invoked asynchronously.
Why is it useful? When to use?
Avoiding callback pattern.
How?
Basic implementation is like this.
var EventEmitter = require('events').EventEmitter;
var em = new EventEmitter();
em.on('event', function() { console.log('Hello Event!')});
em.emit('event');
Add Event
em is instance of EventEmitter function.
em.addEventListener('event', callback) | Add event and invoke function corresponding to event name |
---|---|
em.on('event', callback) | short hand of .addEventListener |
em.once('event', callback) | similar to .addEventListener but the function is invoked just once. |
Remove Event
em.removeEventListener('event') | Add remove listener from event |
---|---|
em.removeAllEventListener | Remove all events |