Skip to content

ovidiuch/async-retry

Repository files navigation

async-retry

ci status coverage status

Wait until cb doesn't throw or time out.

Install @skidding/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 });
});

About

Wait until cb doesn't throw or time out

Resources

License

Stars

Watchers

Forks

Packages

No packages published