我对Node.js事件中on()
和addListener()
之间的区别感到困惑。有任何可以澄清差异的解释吗?
答案 0 :(得分:3)
on
是addEventListener
https://nodejs.org/docs/latest/api/events.html#events_emitter_addlistener_eventname_listener
答案 1 :(得分:3)
没有差异
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 :(得分:2)
As per documentation,它们只是别名,所以没有区别。
另请参见库中的how they are defined。