等待所有函数执行完毕再执行特定的代码,使用Promise.all()

270 阅读1分钟

Promise .all () 方法用于将多个 Promise 实例,包装成一个新的 Promise 实例,常用于等待多个请求结束后再统一进行下一步处理的情况。废话不多说,代码示例如下:


fun1() {
  return  new Promise((resolve, reject) => {
    let requestData = {id: '001'}
    let res = api.getList(requestData)
    if(res.data) {
      resolve()
    } else {
      reject(res.data.msg)
    }
  })
}
fun2(){
  return  new Promise((resolve, reject) => {
    let requestData = {id: '002}
    let res = api.getList(requestData)
    if(res.data) {
      resolve()
    } else {
      reject(res.data.msg)
    }
  })
}
// 把fun1 fun2放到promise.all中,
const p = Promise.all([fun1, fun2])
p.then(res=> {
  // fun1、fun2执行完之后运行以下代码
  console.log('已调用方法1、方法2')
})