7.0.0 • Published 2 years ago
backoff-rxjs v7.0.0
backoff-rxjs
A collection of helpful RxJS operators to deal with backoff strategies (like exponential backoff) Angular-in-Depth article about this library is at https://indepth.dev/power-of-rxjs-when-using-exponential-backoff/
intervalBackoff
intervalBackoff
works similarly to interval
except that it doubles the delay between emissions every time.
name | type | attribute | 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(
// There could be many mousemoves, we'd want to sample only
// with certain frequency
sampleTime(LOAD_INTERVAL_MS),
// Start immediately
startWith(null),
// Resetting exponential interval
switchMapTo(
intervalBackoff({
initialInterval: LOAD_INTERVAL_MS,
maxInterval: MAX_INTERVAL_MS
})
)
);
retryBackoff
name | type | attribute | 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) |
this.service.callBackend().pipe(
retryBackoff({
initialInterval: 100,
maxRetries: 12,
// 👇 resets retries count and delays between them to init values
resetOnSuccess: true
})
)
7.0.0
2 years ago
6.5.7
4 years ago
6.5.6
4 years ago
6.5.5
4 years ago
6.3.3
5 years ago
6.3.2
5 years ago
6.2.2
5 years ago
6.1.2
5 years ago
6.1.1
5 years ago
6.1.0
6 years ago
0.0.10
6 years ago
0.0.9
6 years ago
0.0.8
6 years ago
0.0.7
6 years ago
0.0.6
6 years ago
0.0.5
6 years ago
0.0.4
6 years ago
0.0.3
6 years ago
0.0.2
6 years ago
0.0.1
6 years ago