そういえば、年末もそんなことにハマっていたな。そうかretryというキーワードかということを最近思った。
パクリ リスペクトした記事はこちら。
今回やりたかったこととして、GPS情報を取得するためにGeolocation APIを使っているが、こいつが何度か失敗するので、retryしたいなというのがモチベーション。
また、書いてあるコードをちゃんと理解していないのもあって、試行錯誤しながら コピペ 書いてたら下記のようにしたら利用できた。
const setCurrentPositon = (pos) => { const crd = pos.coords console.log(crd.latitude) console.log(crd.longitude) } retryExponentialBackoff(3, getCurrentPosition) .then((pos) => { setCurrentPositon(pos) }) .catch((err) => { alert('失敗だお') }) }
テストは、retry関数に食わす関数内で throw
を投げたらretryが確認できる(もちろん、確認時は失敗する)
それにしても、モダンな感じのJavaScriptの書き方になれていないので四苦八苦