Node.jsベースのプロジェクトには、いくつかのオブジェクトがあります。
EmitterAEmitterBConsumer
のコンストラクターには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');
問題は、最初のfromが起動されたときにConsumer'ssomeEventHandler()が起動されないことです。その理由はタイミングの1つです。 イベントが発生するまで、サブスクライブしません。.emit()EmitterBConsumersomeEventEmitterA
構築時にイベントハンドラーをアタッチする方法はありますか?newListenerイベント の利用を検討しましたが、後で複数のリスナーを操作する場合や、さまざまな種類のイベントが発生する場合は問題になります。可能であればこのルートを避けたいので、あなたが提案できる代替案を探しています。ありがとう!