【发布时间】:2016-08-21 10:11:35
【问题描述】:
我对 JavaScript 及其并发模型了解得越多,我就越困惑……最近的困惑来源是 Is JavaScript guaranteed to be single-threaded? + PS 上的精彩课程:https://app.pluralsight.com/library/courses/asynchronous-javascript-reasoning。
在阅读/观看关于 UI 交互作为事件源 的问题后,我的脑海中出现了一个问题:我们知道,如果任何代码正在执行,UI 就会被阻塞。因此,唯一可以触发事件的时刻(例如,当您实际上可以单击按钮并引发单击事件时)是 JavaScript 引擎不忙时(调用堆栈上没有任何内容,队列中没有任何内容) - 否则 UI 被冻结。所以给定队列是空的,点击事件(或任何 UI 事件)是否最终会出现在队列中?或者它们是即时处理的(即同步调用事件监听器)?
【问题讨论】:
标签: javascript events