一、队列
放到宏队列中的回调:dom事件回调、ajax回调、定时器回调
放到微队列中的回调:promise回调
二、promise执行器函数体中的代码是同步的
三、执行顺序
1、JS引擎首先必须先执行所有的同步任务代码
2、每次准备取出第一个宏任务执行前,都要将所有的微任务一个一个取出来执行
setTimeout(()=>{
console.log(1)
Promise.resolve('xxx').then(
value=>{console.log(2)}
)
},0)
console.log(3)
setTimeout(()=>{
console.log(4)
},0)
Promise.resolve('xxx').then(
value=>{console.log(5)}
)
//3,5,1,2,4