异步和同步

EventListener 会按照监听器的注册顺序同步地调用所有监听器。这对于确保事件的正确排序很重要以避免竞争条件或逻辑错误。在适当的时候,监听器函数也可以通过使用 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');