Skip to content

Just a simple utility to retry promises with exponential backoff.

License

Notifications You must be signed in to change notification settings

sumitgouthaman/promise-exponential-retry

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Promise exponential retry

Just a simple utility to retry promises with exponential backoff.

Usage

Import NPM package:

npm i --save promise-exponential-retry

Import RetryPromise in your source:

import { RetryPromise } from 'promise-exponential-retry';

Wrap your promises using retryPromise():

return RetryPromise.retryPromise('getArrivalDepartures', () => {
  // Return your actual promise here:
  return new Promise<YourReturnType>((resolve, reject) => {
    ... // Your code
  });
});

The retryPromise() takes following arguments:

  • requestId: String that will be used in logging related to this promise.
  • promiseLambda: A lambda that returns the promise you want to wrap.
  • maxRetries: Maximum number of retries.
  • initialDelay: How many millis to delay first retry.
  • maxDelay: Maximum delay between retries.
  • delayJitter: Jitter in millis to add to the delays.
    Eg. If delayJitter = x, then delay could be random value between delay-x to delay+x.

About

Just a simple utility to retry promises with exponential backoff.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published