JavaScript中的事件循环如何工作? process.nextTick和setImmediate如何工作?

问题描述 投票:1回答:1
  1. 每当'setTimeout'和'setInterval'完成时,事件循环是否将其转移为轮询阶段的回调或在该阶段执行该回调?

  2. 是否在每个事件循环阶段之后都调用'process.nextTick()'回调?如果没有,那么回调何时发生?

  3. 在轮询阶段之后,哪些回调被称为第一个? 'process.nextTick()'或'setImmediate()'(我认为nextTick)

欢迎使用任何理解事件循环的良好参考预先谢谢你

javascript node.js settimeout setinterval event-loop
1个回答
0
投票
  1. 没有直到轮询阶段完成(!)。
  2. 每次在给定阶段调用process.nextTick()时,传递给process.nextTick()的所有回调都将在事件循环继续之前得到解决。 (摘自doc)
  3. 在轮询阶段setImmediate回调在检查阶段执行。

参考:https://nodejs.org/de/docs/guides/event-loop-timers-and-nexttick/

© www.soinside.com 2019 - 2024. All rights reserved.