执行顺序:同步队列——>微任务——>宏任务
同步队列执行完了才会去检查微任务和宏任务,微任务执行完然后在看宏任务的队列,将其放入执行队列
微任务:Promise.then()
宏任务:setTimeout,setInterval
Promise,reject();是执行catch里的内容
resolve()是执行then里的内容
console.log("AAAA")
setTimeout(()=>console.log("BBBB"),1000)
const start = new Date()
while(new Date() - start < 1000){} //while阻塞下面代码执行
console.log("CCCC")
setTimeout(()=>console.log("DDDD"),0)
new Promise ((resolve,reject)=>{
resolve(); //执行then里代码
reject(); //执行catch里代码
console.log("EEEE")
}).then(()=>console.log("FFFF"))
.then(()=>console.log("GGGG"))
.then(()=>console.log("HHHH"))
.catch(()=>console.log("reject"))
console.log("IIII")
// 结果:AAAA CCCC EEEE IIII FFFF GGGG HHHH BBBB DDDD