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;
}
});
}