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

我使用方法将一个事件“循环”和一个函数“myLoopHandler”附加到该事件

eventEmitter.on('loop',myLoopHandler);

myLoopHandler的定义如下:
var myLoopHandler = function(){
for(i=1;i<=30;i++)
    console.log(i);
}

然后我发出事件“循环”:
eventEmitter.emit('loop');

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

我愿意以任何其他方式实现这一目标。

最佳答案

做就是了

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

09-18 03:37