老师执行下面代码,为什么输出的是1 3 5 7 2 5 7 6 6 4,而不是1 3 5 7 2 5 7 4 6 6
来源:8-17 解答JS异步的面试题

慕粉1048545496
2020-08-10
async function fn1(){
console.log(3)
await fn2()
//异步
console.log(4)
}
async function fn2(){
console.log(5)
await fn3()
// 异步
console.log(6)
}
async function fn3(){
console.log(7)
}
console.log(1)
fn1()
console.log(2)
fn2()
//1 3 5 7 2 5 7 6 6 4
写回答
1回答
-
你就看第一个函数 fn1 ,执行 fn1 时得先把内部的 await fn2() 执行完了,最后再执行 console.log(4) ,对吧?
所以,无论怎么算,4 都是最后输出的。
052021-01-20
相似问题