之前一致迷惑微任务与宏任务,而且每次学习了之后就忘记了,然后听了winter老师说的一句话之后就瞬间明白了。
宿主(浏览器)发起的任务称为宏观任务,JavaScript 引擎发起的任务称为微观任务
宿主发起的宏任务有:
- 异步
Ajax请求 <script>整体代码- DOM事件(UI Rendering)
requestAnimationFrame(是浏览器用于定时循环操作的一个接口,类似于setTimeout,主要用途是按帧对网页进行重绘。)
JavaScript引擎发起的微任务有:
Promise.then、.catch和.finallyprocess.nextTickMutationObserver(来监视 DOM 变动)