vue在不確定介面何時請求完的情況下,如何改變陣列

MayDo發表於2019-01-18

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工具箱


相關文章