Difference between revisions of "Emitter in Node"
From Logic Wiki
| Line 33: | Line 33: | ||
emitter.emit('messageLogged', {id:1, url:'http://...'}); | emitter.emit('messageLogged', {id:1, url:'http://...'}); | ||
| + | </pre> | ||
| + | == Using in a Class == | ||
| + | === Logger.js === | ||
| + | <pre class="brush:js;"> | ||
| + | const EventEmitter = require('events'); | ||
| + | class Logger extends EventEmitter { | ||
| + | |||
| + | log(message){ | ||
| + | console.log(message); | ||
| + | } | ||
| + | }; | ||
| + | |||
| + | module.exports = Logger; | ||
| + | </pre> | ||
| + | === App.js === | ||
| + | <pre class="brush:js;"> | ||
| + | const EventEmitter = require('events'); | ||
| + | const logger = new Logger(); | ||
| + | |||
| + | //Register a listener | ||
| + | logger.on('messageLogged', (arg) => { | ||
| + | console.log('Listener called', arg); | ||
| + | }); | ||
| + | logger.log('message'); | ||
</pre> | </pre> | ||
Revision as of 10:07, 15 September 2018
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');