简体   繁体   中英

Pass parameter to EventEmitter.on method in node.js

I have just started exploring node.js and below is situation with me while learning events handling in node.js.

I have an event 'loop' and a function 'myLoopHandler' attached to it using the method

eventEmitter.on('loop',myLoopHandler);

And the myLoopHandler is defined as follows:

var myLoopHandler = function(){
for(i=1;i<=30;i++)
    console.log(i);
}

And then I emit the event 'loop' :

eventEmitter.emit('loop');

How do I pass some parameter to the myLoopHandler function in eventEmitter.on method?

I am open to any other way of achieving the same.

just do

emitter.emit(eventName[, ...args])

where args is the arguments to emit

this is an example

const myEmitter = new MyEmitter();
myEmitter.on('event', function(a, b) {
  console.log(a, b, this);
  // Prints:
  //   a b MyEmitter {
  //     domain: null,
  //     _events: { event: [Function] },
  //     _eventsCount: 1,
  //     _maxListeners: undefined }
});
myEmitter.emit('event', 'a', 'b');

source NodeJS docs

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM