1 2 3 4 5 6 7 8 9 |
var events=require('events'); var eventEmitter=new events.EventEmitter(); eventEmitter.on('datareceived',myhandler); var myhandler=function hello() { console.log('data received successfully'); } eventEmitter.emit('datareceived'); |
while executing the above code it is thowing error-TypeError: “listener” argument must be a function
Solution:this is because of the code executing sequence.if we use emit() function at the bottom, then eventemitter.on() and other function should be above.
1 2 3 4 5 6 7 8 9 10 11 |
var events=require('events'); var eventEmitter=new events.EventEmitter(); var myhandler=function hello() { console.log('data received successfully'); } eventEmitter.on('datareceived',myhandler); eventEmitter.emit('datareceived'); |