NodeEventTarget 与 EventEmitter
【NodeEventTarget vs. EventEmitter】
NodeEventTarget 对象实现了经过修改的 EventEmitter API 子集,使其在某些情况下可以接近地 模拟 一个 EventEmitter。NodeEventTarget 不是 EventEmitter 的实例,并且在大多数情况下不能替代 EventEmitter 使用。
【The NodeEventTarget object implements a modified subset of the
EventEmitter API that allows it to closely emulate an EventEmitter in
certain situations. A NodeEventTarget is not an instance of EventEmitter
and cannot be used in place of an EventEmitter in most cases.】
- 与
EventEmitter不同,每个事件type的任何给定listener最多只能注册一次。多次尝试注册同一个listener将被忽略。 NodeEventTarget并不模拟完整的EventEmitterAPI。具体来说,prependListener()、prependOnceListener()、rawListeners()和errorMonitorAPI 未被模拟。'newListener'和'removeListener'事件也不会被触发。NodeEventTarget对类型为'error'的事件不会实现任何特殊的默认行为。NodeEventTarget支持将EventListener对象以及函数用作所有事件类型的处理程序。