我正在尝试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中。
我希望能够使用响应正文显示更好的错误反馈文本。