VUE 循环调取同一个接口,如何判断最后完成的接口,然后进行下一步

打代码像cxk
  • 35

VUE 循环调取同一个接口,如何判断最后完成的接口,然后进行下一步

例如我先要调一个接口拿到一个ID, 然后我要拿到这个ID, 根据这个ID再去调取5次同样的接口,等这5个接口都完成后,最后执行下一步操作

回复
阅读 4k
4 个回答
Promise.all(arr).then(result => {console.log(result)})

上面的代码可以实现你需要的,将多个异步调用放入arr,只有所有数组实例都resolve的时候,才会将异步调用的结果返回到result上。

问题描述不是很清楚 我猜你需要 Promise.all

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)
} ()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏