在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue中使用async await遇到的問題

vue中使用async await遇到的問題

使用async await,await的函數log出了數據,但是async函數獲取不到值,并且先打印出undefined,在打印出數據

    getRechargeOrder () {
      let apiUrl = this.$api.URL.rechargeOrder
      this.$api.axiosGet(apiUrl, para).then(res => {
        if (res.data.code === 0) {
          let data = res.data.data
          if (data.payNum) {
            console.log(data)//{payTotal: 3344, payNum: 86, payPeopleNum: 65, list: Array(86)}
            return data
          }
        } 
      }).catch(error => alert('error'))
    },
    async getDau () {
      let res = await this.getRechargeOrder()
      console.log(res)//undefined 
      }

圖片描述

回答
編輯回答
陌離殤

你的getRechargeOrder ()里面又沒有返回值 當然是undefined啊,正確的做法是getRechargeOrder ()返回一個Promise,得到數據后觸發(fā)resolve

getRechargeOrder() {
  return new Promise((resolve, reject) => {
    let apiUrl = this.$api.URL.rechargeOrder
    this.$api.axiosGet(apiUrl, para).then(res => {
      if (res.data.code === 0) {
        let data = res.data.data
        if (data.payNum) {
          console.log(data)//{payTotal: 3344, payNum: 86, payPeopleNum: 65, list: Array(86)}
          resolve(data);
        }
      }
    }).catch(error => {
      reject(error)
    })
  })
}
2017年8月26日 05:23