问答一下,轻松解决,电脑应用解决专家!
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win10/Win11
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascriptLinux系统
PHP教程CSS教程XML教程

vue等两个接口都返回结果再执行下一步

更新时间:2021-07-20 19:13 作者:佚名点击:
next 只能調用一次,這邊可以用 Promise.all 解決,等待兩個異步操作都返回結果後再 next:
beforeRouteEnter (to, from, next) {
  // Promise.all 會等到數組內的 Promise 都 resolve 後才會繼續跑(then)
  Promise.all([
    main._base({
      methodName: 'QueryProductInfo',
      productId: to.params.id
    }),
    main._base({
      methodName: 'QueryProductReview',
      type: '0',
      index: '0',
      count: '2',
      productId: to.params.id
    })
  ])
  .then( result => next( vm => {
    // 執行結果會按照上面順序放在 result 數組內,所以 result[0],代表第一個函數的 resolve 結果
    vm.product = result[0].data.product
    vm.shop = result[0].data.shop

    vm.evalData = result[1].data
  }))
}
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容