1.7.0 • Published 3 years ago

@parzh/retryable v1.7.0

Weekly downloads
10
License
MIT
Repository
github
Last release
3 years ago

@parzh/retryable

Convenience function to retry executing an action, until a desired result is achieved

Installation

npm i @parzh/retryable
yarn add @parzh/retryable

Usage

const content = await retryable((resolve, reject, retry) => {
  fs.readfile("/path/to/file", (err, data) => {
    if (!err)
      // no errors occured
      return resolve(data);

    // here: an error occured

    if (retry.count >= RETRY_LIMIT)
      if (SHOULD_IGNORE_RETRY_LIMIT)
        // retry limit reached, but ignored
        retry.setCount(0);

      else
        // retry limit reached
        return reject("Retry limit reached!");

    // here: retry limit is ignored or not reached

    if (SHOULD_RETRY_IMMEDIATELY)
      // retrying immediately
      retry();

    else
      // retrying after exponential backoff (see https://en.wikipedia.org/wiki/Exponential_backoff)
      retry.after("exponential"); // same as: retry.after(2 ** retry.count * 100);
  });
});
1.7.0

3 years ago

1.6.2

3 years ago

1.6.1

3 years ago

1.6.0

4 years ago

1.5.3

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.2.1

4 years ago

1.0.0

4 years ago