- 碰到宏任务就去排队,先执行微任务,微任务执行完后,再执行队列里的宏任务,以此类推。script代码先入栈先执行。
setTimeout(()=>{
new Promise((resolve)=>{
console.log('1')
resolve()
}).then(()=>{
console.log('2')
}).then(()=>{
console.log('3')
})
},0)
console.log('4')
new Promise((resolve)=>{
resolve()
console.log('5')
}).then(()=>{
console.log('6')
}).then(()=>{
console.log('7')
})
console.log('8')
//4 5 8 6 7 1 2 3