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 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:
fromEventdocument, 'mousemove'.pipe // There could be many mousemoves, we'd want to sample only // with certain frequency sampleTimeLOAD_INTERVAL_MS, // Start immediately startWithnull, // Resetting exponential interval switchMapTo intervalBackoff ;
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) |
this.service.callBackend.pipe retryBackoff