EventEmitter 以注册的顺序同步地调用所有监听器。 这样可以确保事件的正确排序,并有助于避免竞态条件和逻辑错误。 当适当时,监听器函数可以使用 setImmediate()process.nextTick() 方法切换到异步的操作模式:

    1. const myEmitter = new MyEmitter();
    2. myEmitter.on('event', (a, b) => {
    3. setImmediate(() => {
    4. console.log('异步地发生');
    5. });
    6. });
    7. myEmitter.emit('event', 'a', 'b');