Difference between revisions of "Emitter in Node"
From Logic Wiki
(Created page with "Category:Node <pre class="brush:js;"> const EventEmitter = require('events'); const emitter = new EventEmitter(); //Register a listener emitter.on('messageLogged', func...") |
(→App.js) |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category:Node]] | + | [[Category:Node.js]] |
| − | + | == Sample Code == | |
<pre class="brush:js;"> | <pre class="brush:js;"> | ||
const EventEmitter = require('events'); | const EventEmitter = require('events'); | ||
| Line 13: | Line 13: | ||
emitter.emit('messageLogged'); | emitter.emit('messageLogged'); | ||
| + | </pre> | ||
| + | |||
| + | Registration must come before raising | ||
| + | |||
| + | === Event Arguments === | ||
| + | <pre class="brush:js;"> | ||
| + | emitter.on('messageLogged', function(arg){ | ||
| + | console.log('Listener called', arg); | ||
| + | }); | ||
| + | |||
| + | emitter.emit('messageLogged', {id:1, url:'http://...'}); | ||
| + | </pre> | ||
| + | |||
| + | ==== Arrow Function ==== | ||
| + | <pre class="brush:js;"> | ||
| + | emitter.on('messageLogged',(arg) => { | ||
| + | console.log('Listener called', arg); | ||
| + | }); | ||
| + | |||
| + | 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); | ||
| + | this.emit('messageLogged', {id:1, url:http://'}); | ||
| + | } | ||
| + | }; | ||
| + | |||
| + | module.exports = Logger; | ||
| + | </pre> | ||
| + | |||
| + | === App.js === | ||
| + | <pre class="brush: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'); | ||
</pre> | </pre> | ||
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');