Files
pfadi-bussle/helpers/retryWithDelay.ts
2020-11-11 23:24:43 +01:00

21 lines
416 B
TypeScript

import pRetry from 'p-retry'
export function retryWithDelay<T>({
run,
delay = 1000,
}: {
run: () => Promise<T>
delay?: number
}) {
return pRetry(run, {
retries: 2,
onFailedAttempt: (error) => {
console.info(
`Attempt ${error.attemptNumber}: ${error.message}. ${error.retriesLeft} retries left`
)
return new Promise((resolve) => setTimeout(resolve, delay))
},
})
}