微任务、宏任务
简单总结
<script>
setTimeout(_ => {
// 宏任务2
console.log(4)
})
new Promise(resolve => {
resolve()
// 宏任务1(立即执行任务)
console.log(1)
}).then(_ => {
// 微任务1(异步任务)
console.log(3)
})
// 宏任务1(同步任务)
console.log(2)
</script>
顺序: 宏任务1(同步任务)-> 微任务1 -> 宏任务2
先执行同步或立即执行的任务,然后执行微任务,然后执行下一个宏任务 。。。
结果输出: 1 2 3 4