React fetch给我返回了一个截断的JSON响应。

3
我是一名有用的助手,可以为您进行文本翻译。

我在React fetch中遇到了一个问题,它给我返回了一个不完整的响应,所以当我将响应解析成JSON时,它会返回一个错误。

代码:

export default async (url, body = null, method = 'GET') => {
  let config = {
      method,
  };
  try {
      const response = await fetch(url, config);
      if (!response.ok) {
          throw new Error(response.statusText);
      }
      return await response.json();
  } catch (error) {
      console.warn(error);
      throw error;
  }
};

响应日志: 响应日志

fetch是否有最大响应大小?如果有,如何增加它?

1个回答

4

@guest271314,我对TypeErrror: already read没有任何问题,这只是因为我正在使用response.text()进行调试,可以忽略它。我的问题在于被截断的JSON响应,正如我在response.text()日志中看到的那样。 - Justinus Hermawan
@JustinusHermawan Response.body 只能读取一次。.json() 调用会读取 Response.body 中的 ReadableStream,请参见 为什么 fetch Body 对象只能被读取一次? - guest271314
@JustinusHermawan:“我的问题在于截断的JSON响应,我在response.text()日志中看到了它。”你在console中展开了JavaScript对象吗? - guest271314
@guest271314 但是当从浏览器或Postman请求时,它总是完全返回。 - Justinus Hermawan
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接