0
'poof1'イベントをタイムアウトなしに取得する適切な方法は何ですか?今は「poof2」だけが起動します。あなたがイベント(.emit
)新しいインスタンスのEventEmitter
装着するリスナーに時間を与えて遅れているため、タイムアウトが動作している内にラップ1を放出した後
function Em(cfg){
let event = new EventEmitter();
event.emit('poof1');
setTimeout(() => {
event.emit('poof2');
}, 1000);
return event;
}
let em = new Em();
em.on('poof1',() => {
console.log('event 1');
});
em.on('poof2',() => {
console.log('event 2');
});
しかし、何をリファクタリングしてみてください? let em = new Em(); em.on( 'poof1'、()=> {}); em.on( 'poof2'、()=> {}); –
EM機能の意味がわかりません。使用していないcfgパラメータがあります。必要に応じてコードを変更することができますが、イベントを発行する前にリスナーを宣言する必要があります。それ以外の場合は、リスナーがイベントをキャッチする可能性はありません – Karim