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,发现没弄明白…..

0
0

谢成

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()

0
1
酷酷的Nian
老师,我实际想问的是:比如有三个接口,想要先执行第三个接口,接口成功后再执行第一个个,然后第二个,结合这个for await of,发现没弄明白…..
2022-04-10
共1条回复

JavaScript ES(6-11)全版本语法 前端都需要的基础课

前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法

1328 学习 · 296 问题

查看课程