第八章 JS 异步之宏队列与微队列
1 原理图
2 详解
JS 中用来存储待执行回调函数的队列包含2个不同特定的列队
宏列队:用来保存待执行的宏任务(回调),比如:定时器回调、DOM事件回调、ajax回调。
微列队:用来保存待执行的微任务(回调),比如:Promise 的回调、MutationObserver 的回调。
JS 执行时会区别这2个队列:
- (1) JS 引擎首先必须先执行所有的初始化同步任务代码。
- (2) 每次准备取出第一个宏任务执行前, 都要将所有的微任务一个一个取出来执行。