Node.js发射器是如何工作的?理解传递的论点

Node.js发射器是如何工作的?理解传递的论点,node.js,events,Node.js,Events,我不明白函数(msg).是如何用myEmmiter.emit调用的 .emit('someEvent',…)如何知道参数“事件已发出”应传递给函数(msg).? 是否有办法查看emit方法源 const events = require('events'); var myEmmiter = new events.EventEmitter(); myEmmiter.on('someEvent', function (msg) { console.log(msg); }); myEmmite

我不明白
函数(msg).
是如何用
myEmmiter.emit
调用的
.emit('someEvent',…)
如何知道参数
“事件已发出”
应传递给
函数(msg).

是否有办法查看
emit
方法源

const events = require('events');
var myEmmiter = new events.EventEmitter();

myEmmiter.on('someEvent', function (msg) {
  console.log(msg);
});

myEmmiter.emit('someEvent', 'the event was emitted');

事件
模块的实现可在此处找到:

抽象地说,
EventEmitter
实例维护一个对象,其中键是事件名称(
someEvent
),值是在生成该事件时应调用的函数数组:

this.registeredEvents = {
  someEvent : [ handler ]
};
要注册事件,请使用
emitter.on()/emitter.addListener()

调用
emitter.emit()
时,将使用以下参数调用每个处理程序:

emit(eventName, message) {
  (this.registeredEvents[eventName] || []).forEach(handler => handler(message));
}

事件
模块的实现可在此处找到:

抽象地说,
EventEmitter
实例维护一个对象,其中键是事件名称(
someEvent
),值是在生成该事件时应调用的函数数组:

this.registeredEvents = {
  someEvent : [ handler ]
};
要注册事件,请使用
emitter.on()/emitter.addListener()

调用
emitter.emit()
时,将使用以下参数调用每个处理程序:

emit(eventName, message) {
  (this.registeredEvents[eventName] || []).forEach(handler => handler(message));
}