2019-05-05 eventloop示例代码解析(一)
2019-05-05 本文已影响0人
tsl1127
如下代码执行顺序是什么

分析:
我们先看3个阶段
timers
poll
check

这里f1放在check阶段队列,f2放在timers阶段队列,先在poll阶段,发现有事儿做了,所以f1先执行,打印setImmediate1,

在check阶段,f3放到timers队列里,check阶段完了之后,回到timers阶段,执行f2,打印出setTimeout2,f4放到check阶段,继续执行f3,打印出setTimeout1

timers执行完了之后,进入poll阶段,发现有事儿做,进入check阶段,执行f4,打印出setImmediate2
所以结果是setImmediate1 setTimeout2 setTimeout1 setImmediate2