EventEmitter:所有的EventEmitters在添加新的监听器时发出 “newListener “事件,在删除现有的监听器时发出 “removeListener “事件。它是由事件模块定义和暴露的。
要导入EventEmitter,使用以下导入语句 -

const EventEmitter = require('events');

NodeEventTarget: EventTargetEvent对象是EventTarget Web API的Node.js特定实现,该API由一些Node.js核心API暴露。

EventEmitter和NodeEventTarget之间的区别 -

事件发射器 节点事件目标
事件发射器继承自JavaScript的事件模块。 节点事件目标是EventEmitter API的一个修改的子集,并继承于它。
事件发射器实现了与事件模块的is-a关系。 节点事件目标实现了与EventTarget API的is-a关系。
在EventEmitter中,对于同一个事件,可以允许多个监听器被注册。 任何监听器都可以为每个事件类型注册一次,如果试图多次注册一个监听器,它会被忽略。
事件发射器模拟了大部分的事件,如’error’、’Classes’、Emits等。 节点事件目标不模拟完整的EventEmitter APIs,如prependListener(), prependOnceListener(), rawListeners()等等。
事件发射器的默认行为是记录信息并结束当前的执行。 对于 “错误 “类型的事件,它没有实现任何默认行为。
如果在EventEmitter实例中发生错误,那么典型的行为是发出一个 “错误 “事件。 节点事件目标支持EventListener对象和函数作为所有事件类型的处理程序。
所有的EventEmitter在添加新的监听器时发出 “newListener “事件,在移除监听器时发出 “removeListener “事件。 节点事件目标不是EventEmitter的一个实例,在大多数情况下,它不能代替EventEmitter使用。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:EventEmitter和NodeEventTarget的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-eventemitter-and-nodeeventtarget.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。