datahandle() {
console.log('eeeeeeeee')
let that = this
debugger
let C = that.selectedRole
let roleList = that.roleList
let index = 0
let promises = []
this.$nextTick(() => {
//roleList数据结构是[{},{},{}]
//obj是其中的某一个{}
for (let obj of roleList) {
//C的数据结构是['1444','234','334']
if (C.includes(obj.id)) { //判断C中是否有obj.id
console.log('222', obj.roleName)
that.menuLabels[index] = obj.roleName
//发送请求将所需结果存储起来
let promise = permissionList({ appId: obj.appId }).then(res => {
return { appId: obj.appId, res: res.result }
})
promises.push(promise)
index++
}
}
Promise.all(promises).then(results => {
for (let i = 0; i < results.length; i++) {
that.permissionList[i] = {appId:results[i].appId,permissionIds:[]}
that.treeDatas[i] = results[i].res
this.$set(that.treeDatas, i, results[i].res)
}
console.log('permissionList', this.permissionList, this.menuIds, this.treeDatas)
})
})
},
使用promise.all使请求依次进行,并以此保存请求结果到数组中
最新推荐文章于 2024-08-09 13:22:57 发布
该段代码主要是一个名为datahandle的函数,它遍历roleList,检查selectedRole数组中是否存在当前对象的id。如果存在,它更新menuLabels,发起permissionList的API请求,并将结果保存在promise数组中。Promise.all用于等待所有请求完成,然后更新permissionList和treeDatas数组。
摘要由CSDN通过智能技术生成