//process.nextTick( )node
setTimeout( )tcp
setImmediate( ) //函數
事件輪詢機制主要分爲六個階段:隊列
1.timers 計時器階段事件
計時和執行到點的定時器回調函數回調函數
2.pending callbacks同步
某些系統操做(如tcp錯誤類型)的回調函數ejs
3.idle ,prepare定時器
準備工做im
4.poll 輪詢階段(輪詢隊列)
若是輪詢隊列不爲空,依次同步取出輪詢隊列中第一個回調執行,知道輪詢隊列爲空或者達到系統最大的限制
若是輪詢隊列爲空
若是以前設置過setImmediate函數
直接進入下一個check階段
若是以前沒有設置過setImmediate函數
在當前poll階段等待
直到輪詢隊列添加回調函數,就去第一個狀況執行
若是定時器到點了,也會去下一個階段
5.check 查階段
執行setImmediate設置的回調函數
6.close callbacks 關閉階段
執行close時間回調函數
關於 process.nextTick能在任意優先階段先執行