私は1つのイベントエミッタ(トランスフォームストリーム)を持ち、そのイベントエミッタは基本的に子エミッタの束を持っています。私は、親のエミッタにすべての子エミッタからこのようなイベントを転送したい1つのイベントエミッタから別のイベントエミッタへのイベントの転送
:私が言うことができるものから、基本的に
const EE = require('events');
const exportEvents = new EE();
const sumanEvents = Transform(); // create new transform stream (an event emitter)
sumanEvents.on('test', function() {
exportEvents.emit.bind(exportEvents, 'test').apply(exportEvents, arguments);
});
sumanEvents.on('error', function() {
exportEvents.emit.bind(exportEvents, 'error').apply(exportEvents, arguments);
});
sumanEvents.on('suman-test-file-complete', function() {
exportEvents.emit.bind(exportEvents, 'suman-test-file-complete').apply(exportEvents, arguments);
});
を、私はエラー、テスト、およびスーマン・テストを転送しています-file-completeイベントを親に送信しますが、これはかなり醜いようです。
少なくとももっと洗練された方法がありますか? Node.jsのイベントパッケージを使ってイベントを直接継承する方法がないと私は考えています。
おかげで、最初のソリューションは、私のために簡単に動作しませんし、 exportEventsが宣言された時点で、それらの異なるsumanEventsエミッタのすべてを処理する必要はありませんが、それは意味がありますが、2番目の解決策は私のために働くかもしれません:) –