1. 程式人生 > >js 事件迴圈

js 事件迴圈

為了提高效率,分為同步和非同步任務(需要等待IO處理完返回結果後再執行的任務)

1. 所有同步任務都在主執行緒上執行,形成執行棧

2. 但非同步任務返回結果後,將要處理的事件新增進任務佇列(事件佇列,訊息佇列)

3.一旦主執行緒的所有同步任務執行完,主執行緒就讀取任務佇列裡的非同步任務並執行

主執行緒執行時產生堆和棧,棧中程式碼呼叫各種外部API,在任務佇列中加入各種事件,當棧中程式碼都執行完畢,主執行緒就會讀取任務佇列裡的事件並執行