素材牛VIP会员
axios get请求获取数据后怎么拿出来?
 凌***志  分类:JavaScript  人气:1722  回帖:2  发布于6年前 收藏

是这样的,我在另外一个文件写了一个api接口,想在组件中使用那个api函数。问题出现在axios写的函数里面,我想拿到里面的数据,如果单纯的console.log是可以输出的,但我想把axios.get这个请求返回这些数据。下面是api函数的代码。然后想在组件中输出
输出的值是undefined的,在api函数那边写成return res.data也是undefined.请问有什么解决的办法吗?

 标签:javascript

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv6 码匠
旧**** 软件测试工程师 6年前#1

apiAxios内axios then回调不能直接return,只能用callback方式

function apiAxios(city, callback) {
    ...
    .then(res => {
      callback(res)
    })
}


get: function(city, callback) {
  apiAxios(city, callback);
}

this.$api.get('abc', function(res) {
  console.log(res.data);
})
Lv6 码匠
街***铃 JS工程师 6年前#2

apiAxios 函数做点改造

function apiAxios(){
    url += city;
    return axios.get(url, {header:"..."})
}

export default {
    get: apiAxios
}

// 输出.vue
<script>
    export default {
        created(){
            this.$api.get("...").then(res => {
                console.log(res)
            })
        }
    }
</script>
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取