const fetch_retry = async (url, options, n) => { try { return await fetch(url, options); } catch (err) { if (n === 1) throw err; return await fetch_retry(url, options, n - 1); } }; なるほど。エラーの場合は再帰的にfetch_retryを呼び出すのか。ES7なので、asyncawaitを使っているから、綺麗に書けている。久々にJavaScriptで感心してしまった。 試してみる 1回のリトライごとに1秒のsleepを入れて、実際にリトライが可能かやってみた。ちなみにsleepは下記を参考にした。JavaScriptで簡単にsleepっぽい事ができるようになったのは、すごく嬉しい。 ES2017のasync/awa