async-retry
Wait until cb doesn't throw or time out.
Install @skidding/async-retry
.
zeit/async-retry?
Why notI 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 });
});