event loop,宏任務和微任務

參考文章:html

JavaScript 運行機制詳解:再談Event Loopsegmentfault

Tasks, microtasks, queues and schedules瀏覽器

完全弄懂 JavaScript 執行機制!!!oop

  • 宏任務按順序執行,且瀏覽器在每一個宏任務之間渲染頁面
  • 全部微任務也按順序執行,且在如下場景會當即執行全部微任務:
  1. 每一個回調以後且js執行棧中爲空。
  2. 每一個宏任務結束後。
  • macro-task(宏任務):包括總體代碼script,setTimeout,setInterval
  • micro-task(微任務):Promise,process.nextTick

不一樣類型的任務會進入對應的Event Queue,好比setTimeout和setInterval會進入相同的Event Queue。post

事件循環的順序,決定js代碼的執行順序。進入總體代碼(宏任務)後,開始第一次循環。接着執行全部的微任務。而後再次從宏任務開始,找到其中一個任務隊列執行完畢,再執行全部的微任務。htm

相關文章
相關標籤/搜索