Node中的事件轮询模型 六个阶段
第一个阶段:timers(定时器阶段 --- setTimeout, setInterval)
-
开始计时
-
执行定时器
第二个阶段:pending callbacks(系统阶段)
第三个阶段:idle,prepare (准备阶段)
第四个阶段:poll (轮询阶段,核心)
---如果回调队列里有待执行的回调函数
从回调队列中取出回调函数,同步执行(一个一个执行),直到回调队列为空了,或者达到系统最大线限度
---如果回调队列为空
第五个阶段:check (专门用于执行 setImmdiate 所设置的回调)
第六个阶段:close callbacks (关闭 setImmdiate 定时器阶段)
process.nextTick () --- 用于设置立即执行函数(“VIP” ---- 能在任意阶段优先执行的)