事件處理程序在基於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