フェッチの約束が解決されていない場合、一定の時間が経過すると、ユーザーにタイムアウトエラーが表示されます。reduxを使用するfetch promiseにsetTimeoutを追加するにはどうすればよいですか?
私はここで取得するのsetTimeoutを追加するいくつかの良い例を見てきました: https://github.com/github/fetch/issues/175
しかし、どのように私はまた、Reduxのを使用してフェッチ約束をタイムアウトに扱うことができますか?例えば。
export function getData() {
return (dispatch, getState) => {
fetch('blah.com/data')
.then(response => response.json())
.then(json => dispatch(getDataSuccess(json)))
.catch(
error => {
console.log(error)
}
)
dispatch({
type: DATA_FETCH_REQUEST
})
}
}
お読みいただきありがとうございます!
あなたが言及したgithubのからの抜粋に基づいて
うわー、それは素晴らしいです! 'Promise.race'について知らなかった – amann
うわー、すばらしい、このアイデアが大好きで、本当にうまくいった!どうもありがとうございます! '' ...要求は=( 'blah.com/data')をフェッチさせ、その後、 '[Promise.raceを返す:あなたは新しい約束を作成する必要はありませんので、約束を返しfetch' –
'タイムアウト、要求] ... ' – johans