[微任務]包括:Promise , process.nextTick() *node.js里面的 [宏任務]包括:整體代碼script, setTimeout setInterval 先輸出同步,然后把異步的放到異步 ...
本文作為EVENLOOP事件循環的延伸: 執行順序: 循環 微任務 宏任務 微任務 瀏覽器渲染 gt gt gt gt 監控線程 等待 有返回進行返回 gt gt gt gt gt 宏任務和微任務都是任務隊列,只是用來存放東西的隊列。 主線程可以執行代碼,渲染UI之類的。 主線程空閑的時候就會去輪詢看看宏任務隊列有沒有要執行的任務,沒有就過,有就取出來執行。 宏任務執行完會去看微任務隊列。沒有就過 ...
2021-04-19 11:16 0 400 推薦指數:
[微任務]包括:Promise , process.nextTick() *node.js里面的 [宏任務]包括:整體代碼script, setTimeout setInterval 先輸出同步,然后把異步的放到異步 ...
推薦閱讀1:微任務、宏任務與Event-Loop https://juejin.im/post/5b73d7a6518825610072b42b#heading-3 推薦閱讀2:js的事件循環機制:同步與異步任務(setTimeout,setInterval)宏任務,微任務 ...
講述目的:本文章針對JS萌新,是要用最簡單的解釋讓讀者能夠判斷在函數語句的執行順序,不涉及關於js更深層的理解和探討也不花費精力講解js為什么會將執行任務有這些區分,只討論任務的執行順序,保護讀者不被各種概念繞暈,大神可繞道。 講述思路: 1.簡單理解同步異步、宏任務和微任務 2.執行順序 ...
首先我們先看看同步與異步的定義,及瀏覽器的執行機制,方便我們更好地理解同步異步編程。 瀏覽器是多線程的,JS是單線程的(瀏覽器只分配一個線程來執行JS) 進程大線程小:一個進程中包含多個線程,例如在瀏覽器中打開一個HTML頁面就占用了一個進程 ...
一:同步 & 異步 同步:js是單線程,按照代碼從上到下的順序執行。多個同步任務組成執行的執行棧。比如: alert(1); // 主線程上執行當前的同步任務 console.log(2); 如果不確定點擊alert彈框的內容,在控制台是看不到打印2出現 ...
一、概念理解 1.關於javascript javascript是一門單線程語言,在最新的HTML5中提出了Web-Worker,但javascript是單線程這一核心仍未改變。所以一切jav ...
首先我們先看看同步與異步的定義,及瀏覽器的執行機制,方便我們更好地理解同步異步編程。 瀏覽器是多線程的,JS是單線程的(瀏覽器只分配一個線程來執行JS) 進程大線程小:一個進程中包含多個線程,例如在瀏覽器中打開一個HTML頁面就占用了一個進程 ...
宏任務: 1.發起者:node,瀏覽器; 2.事件:script(整體代碼)、setTimeout、setInterval、setImmediate(Node.js 環境)、UI事件、I/O(Node.js); 3.運行:后運行 微任務: 1.發起者: JS引擎; 2.事件 ...