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

React项目API请求极慢排查求助(Chrome直接访问后端API正常)

React项目API请求极慢排查求助(Chrome直接访问后端API正常)

最近开发React项目时碰到个特别头疼的问题:前端调用API接口要20多秒才能拿到响应,但直接在Chrome地址栏打开这个API的URL,瞬间就能看到JSON数据返回。我怀疑是自己的前端请求代码哪里写得有问题,想请大家帮忙排查一下~

我当前的API请求代码是这样的,是不是需要加一些额外配置才能让请求正常?总感觉自己漏了点什么:

const fetchPosts = async () => {
  setisLoading(true)
  try {
    localStorage.clear();
    const res = await fetch(`${process.env.BASE_URL}/posts?limit=6`, {
      method: "GET",
      headers: { 'Cache-Control': 'no-store', "Content-Type": "application/json" }
    });
    localStorage.clear();
    const data = await res.json();
    setposts(data);
    // console.log(data);
  } catch (e) {
    console.error(e);
  }
  setisLoading(false);
}

useEffect(() => {
  localStorage.clear();
  fetchPosts();
}, []);

另外我在代码里加了好几次localStorage.clear(),因为之前发现不加的话请求好像没法正常触发,这会不会也和请求慢的问题有关?


补充一下后端处理获取帖子的接口代码:

const getPosts = async (req, res) => {
  const { userId } = req.params;
  const limitValue = req.query.limit || 500;
  const skipValue = req.query.skip  ||  0;
  const posts = await Post.find(userId ? { bookmarks: userId } : {})
    .sort({ createdAt: -1 })
    .populate("author")
    .populate("tags")
    .skip(skipValue)
    .limit(limitValue)
  if (!posts) res.status(204).json("No posts found");
  else {
    res.status(200).json(posts.map((post) => post.toObject({ getters: true })));
  }
};

我只是请求前8条帖子而已,数据量很小,但React里请求要花25秒,Chrome直接访问却瞬间加载完成,实在搞不懂问题出在哪,求各位大佬指点!

备注:内容来源于stack exchange,提问作者samurai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:35:31