将参数传递给node.js中的EventEmitter.on方法

时间:2017-08-14 10:06:06

标签: javascript node.js

我刚刚开始探索node.js,下面是我在node.js中学习事件处理的情况。

我有一个事件'循环'和一个函数' myLoopHandler'使用

方法附加到它上面
eventEmitter.on('loop',myLoopHandler);

myLoopHandler的定义如下:

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

然后我发出事件&#39;循环&#39; :

eventEmitter.emit('loop');

如何在eventEmitter.on方法中将一些参数传递给myLoopHandler函数?

我愿意接触任何其他方式。

1 个答案:

答案 0 :(得分:10)

只是做

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

其中args是发射的参数

这是一个例子

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');

来源NodeJS docs