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