for await of
来源:7-1 异步迭代:for await of
酷酷的Nian
2022-04-09
老师,这节我有点没听懂,for await of 里面可以异步操作,可以等到一个异步操作执行完再执行下一个异步操作,我这里在异步setTimeout中打印对应的结果,打印的顺序,为什么不是 3 2 1呢,不应该是Three函数执行完再执行two在执行one函数吗?如何实现打印的结果是 3 2 1
写回答
2回答
-
酷酷的Nian
提问者
2022-04-10
老师,我实际想问的是:比如有三个接口,想要先执行第三个接口,接口成功后再执行第一个个,然后第二个,结合这个for await of,发现没弄明白…..
00 -
谢成
2022-04-10
function one(){
return new Promise(resolve => {
setTimeout(()=>{
resolve(1)
}, 1000)
})
}
function two(){
return new Promise(resolve => {
setTimeout(()=>{
resolve(2)
}, 2000)
})
}
function three(){
return new Promise(resolve => {
setTimeout(()=>{
resolve(3)
}, 3000)
})
}
const arr = [three(), two(), one()]
async function test(){
for await(let item of arr){
console.log(item);
}
}
test()
012022-04-10