【问题标题】:What is happening with event handlers in JavaScript?JavaScript 中的事件处理程序发生了什么?
【发布时间】:2015-04-18 06:35:51
【问题描述】:

假设我们有

on("event", cb);

cb 是一个回调函数。

问题:我理解,从概念上讲,这是在说“如果触发了名为 'event' 的事件,则执行回调 cb”。但是用更精确的 JavaScript 术语来说是怎么回事?例如,这个on(..) 调用返回究竟是什么?中级开发人员应该知道的还有什么——从字面上看——这里发生了什么?

【问题讨论】:

  • 我建议查看implementation 并跟踪注册和触发事件的过程。
  • 如果在 EventEmitter 上调用 .on(),它会返回 EventEmitter。例如。 stream.on('event', cb) 将返回 stream,以便您可以链接调用。

标签: javascript node.js


【解决方案1】:

当您在应用程序上写入 on('event', cb) 时,事件解复用器存储:操作、资源和处理程序(在本例中为 cb)。当 IO 完成后,它会进入事件队列,事件循环在其中迭代并执行事件的回调。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 2012-10-04
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多