例如
var event = {
message: function(message){console.log(message);}
}
//polling here
{
if(response.type == "message")
{
event[response.type](response.message);
}
}
应该与
类似events.on("message", function(message){console.log(message);});
//polling here
{
events.emit(response.type, response.message);
}
如果没有,除.once
等辅助功能外,它与EventEmitter有什么不同?
我出于不同的原因同时使用两者。 EventEmitter用于事件驱动的函数,而event
对象用于保持一组有组织的函数从单个上下文(event
)触发。
编辑:
修改代码以使用多个函数/侦听器。
var event = {
message: []
}
event.message.push(function(message){console.log(message)});
//polling here
{
if(response.type == "message")
{
for(var func in event[response.type])
{
event[response.type][func](response.message);
}
}
}
答案 0 :(得分:1)
嗯,从更广泛的角度来看,它确实是一个对象(EvenEmitter类),它公开了一组方法,用于将侦听器函数注册到一个事件,还可以删除那些侦听器函数,以及其他各种改变它内部的函数。关闭事件对象。
除此之外,所有那些触发事件的核心模块都继承自EventEmitter类,从而获得对中央事件对象的访问权。 因此,是的,它确实将函数映射到对象。