阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js events 仅处理事件一次

      Node.js events 仅处理事件一次

      当使用 eventEmitter.on() 注册监听器时,监听器会在每次触发命名事件时被调用。

      const EventEmitter = require('events');
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();
      let m = 0;
      myEmitter.on('axihe', () => {
          console.log(++m);
      });
      myEmitter.emit('axihe');
      // 打印: 1
      myEmitter.emit('axihe');
      // 打印: 2
      

      当时这样的逻辑,有时候可能并不是我们需要的;

      使用 eventEmitter.once() 可以注册最多可调用一次的监听器。 当事件被触发时,监听器会被注销,然后再调用。

      const EventEmitter = require('events');
      class MyEmitter extends EventEmitter {}
      const myEmitter = new MyEmitter();
      let m = 0;
      myEmitter.once('axihe', () => {
          console.log(++m);
      });
      myEmitter.emit('axihe');
      // 打印: 1
      myEmitter.emit('axihe');
      // 打印: 2
      


      更多内容请参考:Node.js events 事件触发器,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录