gpt4 book ai didi

javascript - 每个事件循环处理多少个 JS 语句?

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:25 24 4
gpt4 key购买 nike

在检查事件队列/每个滴答/每个循环之前是否有一定数量的指令语句被处理(我认为是说同样的事情?)

最佳答案

Is there a set number of instructions that get processed before checking the event queue/per tick/per loop (ways of saying the same thing, I think?)

不,没有。

在node.js架构中,当从事件队列中提取事件时,它会绑定(bind)到回调。解释器调用该回调并且该回调运行至完成。仅当它返回并且堆栈再次为空时,它才会检查事件队列中是否还有另一个事件要运行。

所以,它与许多指令完全无关。 node.js 将你的 Javascript 作为单线程运行,因此 Javascript 片段之间没有时间切片,这听起来像是你的问题可能正在预料到的。一旦调用了与事件队列中的偶数相对应的回调,该回调就会运行直到完成并将控制权返回给解释器。

所以,事情是这样的:

  1. 从事件队列中提取事件
  2. 调用与该事件关联的 Javascript 回调
  3. Javascript 回调运行直至完成,然后从回调返回
  4. node.js 内部检查事件队列中的下一个事件。如果存在事件,请转到步骤 1 并重复
  5. 如果没有事件,则进入休眠状态,直到有事件放入事件队列。

实际上,这有点简化,因为有几种不同类型的事件队列具有优先级顺序,其中一个先进入,但这描述了与您的问题相关的一般过程。

关于javascript - 每个事件循环处理多少个 JS 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52013820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com