Node.js EventTarget 与 DOM EventTarget


【Node.js EventTarget vs. DOM EventTarget

Node.js 的 EventTargetEventTarget Web API 之间有两个主要区别:

【There are two key differences between the Node.js EventTarget and the EventTarget Web API:】

  1. 虽然 DOM 的 EventTarget 实例可能是层次结构的,但在 Node.js 中不存在层次结构和事件传播的概念。也就是说,派发到 EventTarget 的事件不会在嵌套目标对象的层次结构中传播,每个对象可能都有自己的一组事件处理程序。
  2. 在 Node.js 的 EventTarget 中,如果事件监听器是异步函数或返回一个 Promise,并且返回的 Promise 被拒绝,该拒绝会自动被捕获,并以与同步抛出错误的监听器相同的方式处理(详情参见 EventTarget 错误处理)。