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

发布于 2022-09-07 03:38:33 字数 498 浏览 11 评论 0

我在开发的时候直接

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返回数据应该怎么写呢?求指导

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

丑疤怪 2022-09-14 03:38:33
export let getSliders = ()=>{
  return axios.get('/sliders');
};

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

清秋悲枫 2022-09-14 03:38:33

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

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文