据我所知,当有setTimeout时,计时器webAPI被调用,一旦计时器完成,回调将被推送到回调队列。 一旦调用堆栈为空,事件循环就会从回调队列中获取消息并执行。
如果 setTimeout 为 1 小时并且调用堆栈为空,因为它完成执行全局执行上下文。现在回调队列中不会有任何回调函数,因为它会在计时器 API 完成(1 小时)后推送到队列一次。事件循环检查调用堆栈是否为空,甚至在回调队列中它也会为空。 JS引擎如何等待1小时?
js引擎如何跟踪不在回调队列中的回调函数。
JS 引擎有我们所说的 事件循环。
当您调用
setTimeout