- JS中用来 存储待执行回调函数的队列包含 2 个不同特定的列队
- 宏队列:用来保存待执行的宏任务(回调),比如:定时器回调/DOM事件回调/ajax回调
- 微队列:用来保存待执行的微任务(回调),比如:promise回调/MutationObserver回调
- JS执行时会区别这两个队列
- JS引擎首先必须 先执行所有的初始化同步任务代码
- 每次准备 取出第一个宏任务执行前,都要将所有的微任务一个一个取出来执行
- Promise 的链式
then
方法执行前,都要等前面的任务执行完毕才能执行。 - 哪个 promise 的状态先确定下来,就先执行哪个
then
方法
Tip
具体实例见下一节面试题。