概括

项目中经常会遇到需要多个异步axios请求完成后再进行相关操作,就需要Promise.all来实现。Promise.all()将多个promise请求实例传入,返回promise。

示例

将每个promise请求放到一个数组中,将数组传入Promise.all,then()中进行相关操作
	  var p1 = new Promise((resolve, reject) => {	
        queryRoleList()//接口名称,替换为自己封装的
          .then((resp) => {
         	// 相关操作
            resolve(resp);
          })
          .catch((err) => {
            reject(err);
          });
      });

      var p2 = new Promise((resolve, reject) => {
        queryUserRole()//接口名称,替换为自己封装的
          .then((resp) => {
           // 相关操作
            resolve(resp);
          })
          .catch((err) => {
            reject(err);
          });
      });

      // 调用Promise.all().then(res=>{})
      Promise.all([p1, p2]).then((val) => {
	      console.log(val)
	   	  // 相关操作
        }).catch((err)=>{
        console.log("err",err)
      });
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐