【问题标题】:What is the difference between on() and addListener() in Node.js events? [duplicate]Node.js 事件中的 on() 和 addListener() 有什么区别? [复制]
【发布时间】:2019-06-30 15:32:50
【问题描述】:

我对 Node.js 事件中 on()addListener() 之间的区别有点困惑。有什么解释可以澄清这些差异吗?

【问题讨论】:

  • 当它似乎与任何类型的网络毫无关系并且标签上写着“不要使用”时,为什么要标记web

标签: javascript node.js events


【解决方案1】:

没有没有区别

The documentation lists .on and .addListener as an alias

我要指出的一件事是在文档中它确实声明.on 返回一个事件发射器,而addListener 没有具体说明这一点。

这只是一个疏忽,事实上,如果你输入代码很容易看到:

const EventEmitter = require("events");
const myEE = new EventEmitter();
let a = myEE.on("foo",()=>{});
let b = myEE.addListener("foo",()=>{});

console.log(a);
console.log(b);

这两个日志将打印相同的内容,您会看到类似于以下内容的内容:

EventEmitter {
  domain: Domain {
    domain: null,
    _events: { error: [ Function: debugDomainError ] },
    _eventsCunt: 1,
    _maxListeners: undefined,
    members: []
  },
  _events: { foo: [ [ Function ], [ Function ] ] },
  _eventsCount: 1,
  _maxListeners: undefined
}

所以。它们之间没有区别。

【讨论】:

    【解决方案2】:
    【解决方案3】:

    As per documentation,它们只是别名,所以没有区别。

    另见库中的how they are defined

    【讨论】:

      猜你喜欢
      • 2015-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2015-11-23
      相关资源
      最近更新 更多