UNPKG

corepay

Version:

A unified, secure and painless self-hosted cryptocurrency payments processor.

31 lines (27 loc) 659 B
const fetch = require('node-fetch') const delay = (ms) => { return new Promise(resolve => { setTimeout(() => { resolve() }, ms) }) } const retryFetch = (url, fetchOptions={}, retries=3, retryDelay=5000) => { return new Promise((resolve, reject) => { const wrapper = n => { fetch(url, fetchOptions) .then(res => { resolve(res) }) .catch(async err => { if(n > 0) { // console.log(`retrying ${n}`) await delay(retryDelay) wrapper(--n) } else { reject(err) } }) } wrapper(retries) }) } module.exports = retryFetch