获取"poof1"事件而不超时的正确方法是什么?现在只有"poof2"启动。
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');
});
在
发出事件(.emit
)后附加 poof1 侦听器 ( .on
)
包装在超时中的那个正在工作,因为延迟了,为要附加的侦听器提供了时间。
尝试重构一点代码
let em = new EventEmitter();
em.on('poof1', () => {
console.log('event 1');
});
em.on('poof2', () => {
console.log('event 2');
});
event.emit('poof1');
event.emit('poof2');