1. 程式人生 > >任務佇列和事件迴圈

任務佇列和事件迴圈

JavaScript執行時,除了一個正在執行的主執行緒,引擎還提供一個人任務佇列

裡面是各種需要當前程式處理的非同步任務。

實際上,根據非同步任務的型別,存在多個任務佇列

首先,主執行緒會執行所有的同步任務。等到同步任務全部執行完,

就會去看任務佇列裡面的非同步任務。如果滿足條件,那麼非同步任務就

重新進去主執行緒開始執行,這時她就變成同步任務了。等到執行完,

下一個非同步任務再進入主執行緒開始執行。一旦任務佇列清空,程式就結束執行。

非同步任務的寫法通常是回撥函式。一旦非同步任務重新進入主執行緒,,就會執行對應的回撥函式。

如果一個非同步任務沒有回撥函式,就不會進入任務佇列,也就是說,不會重新進入主執行緒,因為沒有用回撥函式指定下一步的操作。