backoff-rxjs
A collection of helpful RxJS operators to deal with backoff strategies (like exponential backoff)
intervalBackoff
intervalBackoff
works similiarly to interval
except that it doubles the delay between emissions every time.
name | type | attirbute | description |
---|
config | number | IntervalBackoffConfig | required | Can take number as initial interval or a config with initial interval, optional max Interval and optional backoff delay function (exponential by default) |
interval
is especially useful for periodic polls that are reset whenever user activity is detected:
fromEvent(document, 'mousemove').pipe(
sampleTime(LOAD_INTERVAL_MS),
startWith(null),
switchMapTo(intervalBackoff({initialInterval: LOAD_INTERVAL_MS, maxInterval: MAX_INTERVAL_MS})),
);
retryBackoff
name | type | attirbute | description |
---|
config | number | RetryBackoffConfig | required | Can take number as initial interval or a config with initial interval, optional max Interval, optional max number of retry attempts, optional function to cancel reties and optional backoff delay function (exponential by default) |