nodejs的事件輪詢機制
阿新 • • 發佈:2019-04-20
val 階段 輪詢 inter time close 回調 依次 timers
1.timers定時器階段
執行定時器到點的回調函數(所有定時器setTimeout / setInterval的回調函數都在這個階段執行)
2.idle prepare 準備階段
TCP錯誤回調
3.系統階段
系統內部使用
4.poll 輪詢階段
會執行大部分的回調函數,裏面有一個回調隊列,這個隊列就保存著所有要執行的回調函數
查看回調隊列是否有回調函數 有則依次取出,同步執行! 無則如果之前設置過setImmediate函數,就回去第五階段,如果之前沒有設置過,就一直在第四階段(當前階段)停留。如果定時器到點了,為了去第一階段執行定時器的回調函數,它也得去第五階段
5.check檢查階段
只負責執行 setImmediate的回調函數
6.關閉階段
執行關閉事件的回調函數 close end
nodejs的事件輪詢機制