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

相关文章
相关标签/搜索