Skip to content

Instantly share code, notes, and snippets.

@kulakowka
Created July 3, 2017 08:06
Show Gist options
  • Save kulakowka/60e540363eb8cb47459557fde4838029 to your computer and use it in GitHub Desktop.
Save kulakowka/60e540363eb8cb47459557fde4838029 to your computer and use it in GitHub Desktop.
make N retries to API call before catch error
// demo
var _requestsCount = 6
const fetchF = url => {
// _requestsCount--
console.log('fake request %d', _requestsCount)
if (_requestsCount--) return Promise.reject(new Error('ololo'))
return Promise.resolve('data')
}
function makeRequest (url, retries = 5) {
return fetchF(url).catch(error => {
if (retries--) return makeRequest(url, retries)
return error
})
}
makeRequest()
.then(res => console.log('success', res))
.catch(err => console.log('error', err))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment