绑定一次性事件

当使用 eventEmitter.on() 方法注册监听器时,这个监听器会在每次发出该命名事件时被调用。

  1. const myEmitter = new MyEmitter();
  2. let m = 0;
  3. myEmitter.on('event', () => {
  4. console.log(++m);
  5. });
  6. myEmitter.emit('event');
  7. // 打印:1
  8. myEmitter.emit('event');
  9. // 打印:2

当使用 eventEmitter.once() 方法时,可以注册对于特定事件最多调用一次的监听器。一旦触发了该事件,监听器就会被注销,随后调用该事件。

  1. const myEmitter = new MyEmitter();
  2. let m = 0;
  3. myEmitter.once('event', () => {
  4. console.log(++m);
  5. });
  6. myEmitter.emit('event');
  7. // 打印:1
  8. myEmitter.emit('event');
  9. // 忽略