事件处理程序在基于Node.js的项目,我有几个对象:的Node.js安装上新的
EmitterA
EmitterB
Consumer
在Consumer
“我有以下几点:
var a = new EmitterA();
a.on('someEvent', someEventHandler);
在EmitterA
的构造,我有以下几点:
var self = this;
var b = new EmitterB();
b.on('someEventFromB', function() {
self.emit('someEvent');
});
最后,在EmitterB
的构造,我有这样的事情:
this.emit('someEventFromB');
的问题是,Consumer
的someEventHandler()
在从原始.emit()
起EmitterB
被解雇时不会被解雇。原因是时机之一。 Consumer
未订阅someEvent
EmitterA
直到后事件已被解雇。
有没有办法在施工时附加事件处理程序?我曾考虑过使用newListener
event,但稍后在处理多个侦听器时会遇到问题,并且会触发许多不同类型的事件。如果可能,我想避开这条路线,并且正在寻找您可能会建议的替代方案。谢谢!
哈,是的,这将很好地工作。我不知道为什么我没有想到这一点。谢谢! – Brad 2012-04-16 03:54:21