Skip to content

isaacs/retry-until

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

retry-until

Just a way to keep calling a function as long as it's throwing, for some period of time.

If the function returns a promise, it'll keep retrying the promise as long as it keeps throwing, for the time specified.

USAGE

const retryUntil = require('retry-until')
const retryFor1Second = retryUntil(1000) // retry for 1 second
const retryFor10Seconds = retryUntil(10000) // retry for 10 seconds

// this will busy-loop calling the function as fast as it can for
// up to 1s, or until it returns without throwing, whichever comes first
retryFor1Second(syncFunctionThatSometimesThrowsForAWhile, 'some', 'args')

// this will keep re-calling the Promise-returning function as long as it
// keeps rejecting, or for 10s, whichever comes first
const result = await retryFor10Seconds(asyncFunctionThatSometimesRejects, 'some', 'other', 'args')

API

  • retryUntil(duration) -> Function

Returns a function that will take a function and some arguments, and then run the function repeatedly for up to duration milliseconds.

About

A function that will keep running a function you give it as long as it throws for a period of time

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published