事件迴圈(event loop)

2022-06-23 10:03:08 字數 711 閱讀 6666

1. **執行的順序

同步任務先執行,等同步任務執行完畢(非同步等待主線扔去清空),主線任務清空之後,進入任務佇列,開始從任務佇列進入到主線程。

2.同步**和非同步**的執行書序

同步**是從上往下依次執行。非同步**的執行需要根據情況而定,因為在事件迴圈中,又將**分為巨集任務和微任務。

3.巨集任務和微任務

在現實生活中,我們去銀行辦理業務的情況下,需要先去排號,然後等叫到號的時候去辦理業務。其中在你排號的過程叫做巨集任務,叫到你之後,去辦理業務的過程叫做微任務。

4. 巨集任務和微任務指定的順序

5 . 非同步裡面的巨集任務和微任務

巨集任務就是:定時器    script

微任務就是.then

6. 舉例

(1)new promise((resolve) => ).then(() => )

console.log('外部console');       //執行結果是 promise   外部promise    then

js事件迴圈 事件輪詢 event loop

總結了網上的一些有關event loop的資料 雖然負責解釋和執行js 的執行緒只有1個,但是瀏覽器內部還有其他執行緒來專門負責非同步任務的,比如定時器,ui,事件,網路等專門執行緒來負責相關任何的處理。step1 主線程讀取js 此時為同步環境,形成相應的堆和執行棧 step2 主線程遇到非同步任...

JS 事件迴圈機制(Event Loop)

js事件迴圈機制,最常用到的地方應該是做面試題,經常給出一段 讓你寫出console.log 順序,很傷腦經,死記題目過不久又忘了。了解js事件迴圈機制之後,可以很輕鬆的解決這類題目。js是單執行緒模式,但是又經常聽到 非同步 多執行緒 的概念,js中的 非同步 多執行緒 由事件迴圈機制現的 事件迴...

js 事件迴圈機制 EventLoop

js 的非阻塞i o 就是由事件迴圈機制實現的 眾所周知 js是單執行緒的 也就是上乙個任務完成後才能開始新的任務 那js碰到ajxa和定時器 promise這些非同步任務怎麼辦那?這時候就出現了事件佇列。js的主要執行棧 稱為主棧 用ajax舉例 執行的時候如果遇到ajax怎麼辦,ajax事件的實...