Use a promessa.all para fazer as solicitações sequencialmente e salve os resultados da solicitação em uma matriz

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

Acho que você gosta

Origin blog.csdn.net/qq_45530512/article/details/131783380
Recomendado
Clasificación