observable-backoff
RxJS observable exponential backoff operator
Installation
npm i --save observable-backoffnpm i --save rxjs # peer dependency
Usage
Example: exponential backoff
var Observable = Observablevar Subscription = Subscriptionvar { console} // create an observable..var timerObservable = { var count = 0 // setup timer counter var interval = // setup a hard-coded error after 3.5 sec.. // return subscription return { }} // make it exponentially backoff on errorvar opts = minTimeout: 1000 maxTimeout: 3000 factor: 3 retries: 2 { // you could log every error here }timerObservable = timerObservable // subscribe, start timer /** LOGtrace - 1469418557021 - subscribetrace - 1469418558029 - next: 0trace - 1469418559034 - next: 1trace - 1469418560037 - next: 2trace - 1469418560529 - unsubscribe// 1000ms delay before retrytrace - 1469418561538 - subscribetrace - 1469418562544 - next: 0trace - 1469418563550 - next: 1trace - 1469418564554 - next: 2trace - 1469418565043 - unsubscribe// 3000ms delay before retrytrace - 1469418568049 - subscribetrace - 1469418569052 - next: 0trace - 1469418570057 - next: 1trace - 1469418571061 - next: 2trace - 1469418571553 - unsubscribetrace - 1469418571554 - error: Error: boom*/
License
MIT