【发布时间】:2016-07-11 22:04:33
【问题描述】:
您好,我是这样使用 fetch 的:
export function fetchSomething() {
return ({fetch}) => ({
type: FETCH_SOMETHING,
payload: {
promise: fetch('/someUrl', {
credentials: 'same-origin',
}).then(response => response.json())
.then(function(response) {
if (response.status >= 400)
{
let error = new Error(response.statusText);
throw error;
}
return response;
})
}
});
}
如果该 fetch 返回无效的 json,则整个 Promise 将被拒绝并调度 _ERROR 操作 - 不会抛出异常。它不会发出异常,而是发出 PromiseRejectionEvent。
但是,如果响应代码 >= 400,则会引发异常并调度 _ERROR 操作。
如何在检查状态代码时发出该事件并拒绝承诺而不引发异常?
谢谢
【问题讨论】:
标签: reactjs redux isomorphic-fetch-api