EventEmiter の「クラス」から継承したオブジェクトがあります。
多くのイベント ( emitter.on
) があり、それらの名前がわかりません。
どうすれば名前を取得できますか? また、すべてのイベントを処理するにはどうすればよいですか?
EventEmiter の「クラス」から継承したオブジェクトがあります。
多くのイベント ( emitter.on
) があり、それらの名前がわかりません。
どうすれば名前を取得できますか? また、すべてのイベントを処理するにはどうすればよいですか?
特定のイベント エミッターで発行される可能性のあるすべてのイベントをプログラムで取得することはできません。ただし、ソースコードを読むことでできる場合があります。
私が知っている実行時にすべてのイベントを処理する唯一の方法は、emit
その 1 つの EventEmitter の関数を上書きすることです。イベントが発行されるたびにコードが呼び出され、元の関数に転送できます。
var EventEmitter = require("events").EventEmitter
var emitter = new EventEmitter();
emitter.on('test', function(t) {
console.log('Handled test', t);
});
var old_emit = emitter.emit;
emitter.emit = function() {
console.log("Intercepted", arguments);
old_emit.apply(emitter, arguments);
}
emitter.emit('test', 'hi');
emitter.emit('something', 'else');