藉助libuv庫實現的ide
歸納事件輪詢機制:分爲六個階段
1.timers 定時器階段
計時和執行到點的定時器回調函數函數
2.pending callbacks
某些系統操做(例如TCP錯誤類型)隊列
3.idle,prepare事件
4.poll輪詢階段(輪詢隊列)
若是輪詢隊列不爲空,依次同步取出輪詢隊列中第一個回調函數,直到輪詢隊列爲空或者達到系統最大限制
若是輪詢隊列爲空
若是以前設置過setImmediate函數,直接進入下一個check階段,若是以前沒有設置過setImmediate函數,在當前 poll階段等待,直到輪詢隊添加回調函數,就會去第一個狀況執行,若是定時器到點了,他也會去下一個階段回調函數
5.check查階段
執行setImmediate設置的回調函數同步
6.close callbacks關閉階段
close事件回調函數it
process.nextTick()的意思就是定義出一個動做,pengd而且讓這個動做在下一個事件輪詢的時間點上執行。能在任意階段優先執行class