vue中Promise对象用法

Promise.all([
	需要异步一起执行的方法
]).then(res=>{
	res里面存放的是数组,上面有多少个方法就有多少个index,每个index是上面对应的方法的返回值
})

实战

//获取列表
  getDataList(){
    Promise.all([
      this.searchEquipmentList(),
      this.getEquipmentMode()
    ]).then((res)=>{
        if(res && res.length === 2 && res[0] && res[1]) {
          this.curMode = res[0].mode;
          this.equipmentSearchList = res[0].camera;
          this.videoType = res[1];
          let searchList = this.equipmentSearchList;
          let cary = [];
          //获取已选的设备编号
          for(var x = 0;x < searchList.length;x++){
            cary.push(searchList[x].channel);
          }
          let channelNumber = this.videoType.end_no - this.videoType.start_no;
          let channelList = []; // 通道列表
          for(var i = 0;i<=channelNumber;i++){
            //封装通道
            let cNum = this.videoType.start_no+i
            let cName_num = i+1
            var flag = true;
            //对比删除已选的设备
            for(var a = 0;a < cary.length;a++){
              if(cNum==cary[a]){
                flag = false
                break
              }
            }
            if(flag){
              let cName = String("通道"+cName_num)
              channelList.push({"name":cName,"value":cNum})
            }
          }
          this.channalList = channelList;
        }
    });
  }
posted @ 2019-01-01 09:39  墨小枫233  阅读(6208)  评论(2编辑  收藏  举报