vue在不确定接口何时请求完的情况下,如何改变数组

187 阅读1分钟

mounted() {
  Promise.all([
    getUserMenuList().then(response => {  //第一个接口
       return _.flatten(_.map(response || [], item => item.list || [])) //平展每个response.list
     })
     starCount() //第二个接口
  ]).then(([gnmks,gnpfs]) => { //promise.all里面所有的东西执行完了才会进入then方法,then里面两个参数第一个是第一个接口的结果,第二个是第二个接口的结果
     console.log(gnmks, gnpfs) //第一个接口的结果,第二个接口的结果
     _.each(gnmks || [], item => {
       if (item.url === '') {
         const len = this.funcModule.push({gnmk:item.name,xjpf: 5, pfcs: 1}) //funcModule是定义的数组
         _.each(gnpfs || [], value => {
           if (item.name === value.gnmk ) {
              _.extend(this.funcModule[len - 1], value)  //数组合并
            }
         })
        }
     })
  })
}

用到了loadsh工具箱