EventEmitter 以注册的顺序同步地调用所有监听器。
这样可以确保事件的正确排序,并有助于避免竞态条件和逻辑错误。
当适当时,监听器函数可以使用 setImmediate() 和 process.nextTick() 方法切换到异步的操作模式:
const myEmitter = new MyEmitter();myEmitter.on('event', (a, b) => {setImmediate(() => {console.log('异步地发生');});});myEmitter.emit('event', 'a', 'b');
