VUE 循环调取同一个接口,如何判断最后完成的接口,然后进行下一步
例如我先要调一个接口拿到一个ID, 然后我要拿到这个ID, 根据这个ID再去调取5次同样的接口,等这5个接口都完成后,最后执行下一步操作
例如我先要调一个接口拿到一个ID, 然后我要拿到这个ID, 根据这个ID再去调取5次同样的接口,等这5个接口都完成后,最后执行下一步操作
function todo (count) {
return new Promise(resolve => {
setTimeout(() => {
resolve(count)
}, 2000)
})
}
async function demo () {
let queue = []
for (let a = 0; a < 5; a++) {
queue.push(todo(a))
}
return await Promise.all(queue)
}
!async function () {
console.log('请求开始')
const res = await demo()
console.log('请求完毕', res)
} ()
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
上面的代码可以实现你需要的,将多个异步调用放入arr,只有所有数组实例都resolve的时候,才会将异步调用的结果返回到result上。