读取为fetch()响应返回的主体,其中包含HTTP错误代码

时间:2016-10-12 09:16:02

标签: javascript

我正在尝试fetch一个返回400+ HTTP错误代码的网址,以及响应正文中的一些其他错误报告信息。

return fetch(resourcePath, config)
  .then(response => {
    if (response.ok) return response.json();
    const nonHTTPError = new Error(response.statusText);
    nonHTTPError.response = response;
    throw nonHTTPError;
  })
  .catch(err => {
    const { status, statusText, urlErr } = err.response;
    const errorText = `Unexpected error ${status} ${statusText}`;
    return dispatch(errAction(actionType, errorText));
  });

如果响应是错误的,调用response.json()将返回包含响应主体的Promise,但我不确定如何访问实际的JSON对象,因为它封装在promise中。

我希望能够使用响应正文显示更好的错误反馈文本。

0 个答案:

没有答案