axios 请求问题:then方法写的就获取不到呢?或是response返回数据应该怎么写呢?

我在开发的时候直接

export let getSliders = ()=>{
  return axios.get('/sliders');
};

就可以返回给组件返回数据,但是

export let getSliders = ()=>{
axios.get('/sliders').then(response=>{
    console.log(response);//这里可以打印出我想要的数据
  }).catch((err)=>{
    console.log(err);
  })

};

在组件中是这样调用的

 async getSlider(){
          this.sliders= await getSliders();
        },

怎么用后来then方法写的就获取不到呢??或是response返回数据应该怎么写呢?求指导

阅读 14.7k
2 个回答
export let getSliders = ()=>{
  return axios.get('/sliders');
};

还用这个就行,await后面同样也是一个promise。

用await的话你的数据不应该已经在this.sliders里面了吗
如果要用then的话就直接

 async getSlider(){
    return await getSliders();
 }

至于为什么取不到数据,因为你的的写法async函数没有返回值,会resolve一个undefined作为promise的fulfilled状态的value,所以肯定取不到数据,数据已经在this.sliders里面了
https://segmentfault.com/a/11... 有需要可以看看这篇了解一下promise

推荐问题
宣传栏