と の 2 つのクラスがEventEmitter
ありEventCatcher
ます。にはのEventCatcher
メンバーが 2 つありEventEmitter
ます。EventEmitter
テストイベントを発行します。キャッチャーでは、すべてのテスト イベントをキャッチして何かを実行したいと考えています。
イベントエミッター
var events = require('events');
var sys = require('util');
module.exports = eventEmit;
function eventEmit(name) {
this.name = name;
events.EventEmitter.call(this);
}
sys.inherits(eventEmit, events.EventEmitter);
eventEmit.prototype.emitTest = function() {
var self = this;
self.emit('test');
}
イベントキャッチャー
var eventEmit = require('./eventEmit');
module.exports = eventCatch;
function eventCatch() {
this.eventEmitA = new eventEmit("a");
this.eventEmitB = new eventEmit("b");
this.attachHandler();
}
eventCatch.prototype.attachHandler = function() {
//I want to do something like:
// this.on('test', function() };
this.eventEmitA.on('test', function() {
console.log("Event thrown from:\n" + this.name);
});
this.eventEmitB.on('test', function() {
console.log("Event thrown from:\n" + this.name);
});
};
eventCatch.prototype.throwEvents = function() {
var self = this;
self.eventEmitA.emitTest();
self.eventEmitB.emitTest();
};
クラスごとに手動でアタッチすることなく、X イベントを のEventCatcher
クラスにアタッチする方法はありますか?attachHandler
EventEmitter