如下代码执行顺序是什么
image.png
分析:
我们先看3个阶段
timers
poll
check
image.png
这里f1放在check阶段队列,f2放在timers阶段队列,先在poll阶段,发现有事儿做了,所以f1先执行,打印setImmediate1,
image.png
在check阶段,f3放到timers队列里,check阶段完了之后,回到timers阶段,执行f2,打印出setTimeout2,f4放到check阶段,继续执行f3,打印出setTimeout1
image.png
timers执行完了之后,进入poll阶段,发现有事儿做,进入check阶段,执行f4,打印出setImmediate2
所以结果是setImmediate1 setTimeout2 setTimeout1 setImmediate2
网友评论