Difference between revisions of "Emitter in Node"
From Logic Wiki
(→Logger.js) |
(→App.js) |
||
| Line 52: | Line 52: | ||
<pre class="brush:js;"> | <pre class="brush:js;"> | ||
const EventEmitter = require('events'); | const EventEmitter = require('events'); | ||
| + | const Logger = require('./logger'); | ||
const logger = new Logger(); | const logger = new Logger(); | ||
Latest revision as of 11:57, 12 December 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);
this.emit('messageLogged', {id:1, url:http://'});
}
};
module.exports = Logger;
App.js
const EventEmitter = require('events');
const Logger = require('./logger');
const logger = new Logger();
//Register a listener
logger.on('messageLogged', (arg) => {
console.log('Listener called', arg);
});
logger.log('message');