整理下之前做的有点疑惑的js基础题目和大家分享以下,如果大家觉得有用,别忘了点一下赞哦
eventLoop
下列代码的执行顺序?
const first = ()=> (new Promise((resolve,reject)=>{
console.log(3)
let p = new Promise((resolve,reject)=>{
console.log(7)
setTimeout(()=>{
console.log(5)
resolve(6)
},0)
resolve(1)
})
resolve(2)
p.then((arg)=>{
console.log(arg)
})
}))
first().then((arg)=>{
console.log(arg)
})
console.log(4)
这题的主要问题是
怎么可以有序把这些输出区分开?
eventLoop分为同步任务和异步任务,异步任务分为微任务和宏任务。
同步任务:3 7 4
微任务:1 2
宏任务:5
所以打印结果为 3 7 4 1 2 5
本文解析了一道关于JavaScript异步执行顺序的题目,通过eventLoop机制探讨了同步任务、微任务和宏任务的执行顺序,重点在于理解如何区分和跟踪输出。
1554

被折叠的 条评论
为什么被折叠?



