こんにちは、私はこのようにフェッチを使用しています:
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;
})
}
});
}
そのフェッチが無効な json を返す場合、promise 全体が拒否され、_ERROR アクションがディスパッチされます - 例外はスローされません。例外の代わりに PromiseRejectionEvent を発行します。
ただし、応答コードが >= 400 の場合、例外がスローされ、_ERROR アクションもディスパッチされます。
例外をスローせずにステータスコードをチェックするときに、そのイベントを発行して約束を拒否するにはどうすればよいですか?
ありがとう