我的axios出了什么问题

时间:2018-03-16 08:38:39

标签: vue.js axios

at fetch.js

export default async(url = '', type = 'GET') => {
    ...
    if (type == 'GET') {
        await axios.get(url)
        .then((response) => {
            console.log(response.data)//get the right value
            return response
        })
    }
}
at getData.js

  import fetch from '../config/fetch'
  export const getDia = () => fetch('...', {
  });

at kBase.vue

async initData(){
   let res = await getDia();
   console.log(res)// console undefined
}

我可以从fetch.js获取控制台中的数据,但我无法获取kBase.vue中的数据。你能告诉我如何解决这个问题。 THX

enter image description here

1 个答案:

答案 0 :(得分:0)

问题是您正在尝试从then块返回请求的值。但是你使用await。所以试试这个:

export default async(url = '', type = 'GET') => {
    ...
    if (type == 'GET') {
        try {
            var res = await axios.get(url)
            console.log(res.data)
            return res
        } catch (error) {
            console.log('Some error...', error)
        }
    }
}

[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await]