You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React的useEffect中调用axios返回undefined但网络请求显示成功

问题原因
  • 你的PostService.js中的getPost方法没有返回axios实例生成的Promise对象,函数默认返回值为undefined
  • 虽然请求本身正常发送、Network面板能看到成功响应,但调用方没有拿到可以等待的Promise实例,await执行的是undefined,自然拿不到返回结果
解决方法

给getPost方法添加return语句,把axios请求返回的Promise暴露给调用方即可,修改后的PostService.js代码如下:

import instance from "./api";

export default {
  getPost: () => {
    // 添加return返回Promise
    return instance({
      method: "GET",
      url: "/posts"
    })
      .then((res) => {
        // 这里也可以直接return res.data,拿到结果后无需再取data字段
        return res;
      })
      .catch((err) => {
        return err;
      });
  }
};

也可以使用箭头函数隐式返回的写法简化代码:

getPost: () => instance({
  method: "GET",
  url: "/posts"
}).then(res => res).catch(err => err)

修改后重新运行,await PostService.getPost()就能正常获取到请求返回的响应内容。

内容的提问来源于stack exchange,提问作者CCCC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 19:09:00