Difference between revisions of "Emitter in Node"
From Logic Wiki
| Line 1: | Line 1: | ||
[[Category:Node.js]] | [[Category:Node.js]] | ||
| − | + | == Sample Code == | |
<pre class="brush:js;"> | <pre class="brush:js;"> | ||
const EventEmitter = require('events'); | const EventEmitter = require('events'); | ||
Revision as of 10:08, 15 September 2018
Contents
Sample Code
const EventEmitter = require('events');
const emitter = new EventEmitter();
//Register a listener
emitter.on('messageLogged', function(){
console.log('Listener called');
});
// Raise an event
emitter.emit('messageLogged');
Registration must come before raising
Event Arguments
emitter.on('messageLogged', function(arg){
console.log('Listener called', arg);
});
emitter.emit('messageLogged', {id:1, url:'http://...'});
Arrow Function
emitter.on('messageLogged',(arg) => {
console.log('Listener called', arg);
});
emitter.emit('messageLogged', {id:1, url:'http://...'});
Using in a Class
Logger.js
const EventEmitter = require('events');
class Logger extends EventEmitter {
log(message){
console.log(message);
}
};
module.exports = Logger;
App.js
const EventEmitter = require('events');
const logger = new Logger();
//Register a listener
logger.on('messageLogged', (arg) => {
console.log('Listener called', arg);
});
logger.log('message');