最近遇到的一个笔试的题目直接上代码
setTimeout(() => {
console.log(3)
}, 1000);
new Promise((res,rej)=>{
console.log(2)
setTimeout(() => {
console.log(4)
res()
}, 1000);
}).then(res=>{
console.log(5)
})
console.log(1)
打印出来的顺序是2,1,3,4,5。
这个我们结宏任务与微任务的与promise的原理来解答
宏任务与微任务的解释可以参照:javaScript的宏任务与微任务总结_心之所向_gp的博客-CSDN博客
promise的具体分析可以参考: