npm.io
4.0.0 • Published 3 years ago

@skidding/async-retry

Licence
MIT
Version
4.0.0
Deps
1
Size
4 kB
Vulns
0
Weekly
0
Stars
1

async-retry

ci status coverage status

Wait until cb doesn't throw or time out.

Install @skidding/async-retry.

Why not zeit/async-retry?

I use this package for testing async behavior where running times are sensitive. What's different here?

  • No exponential backoff strategy
  • Callback is ran immediately
  • Default loop interval is minimal
  • Default timeout is less than a usual test timeout

These settings minimize the time spent waiting and don't require custom options in most cases. They work for tests because assertion execution is usually cheap (I think ¯\_(ツ)_/¯).

Usage

retry(callback: Function, options: Object): Promise

See async-until for available options.

await retry(() => {
  expect(onChange).toHaveBeenCalledWith({ count: 3 });
});