angular2 / RxJS - how to retry from inside subscribe()

angular, angular2-observables, observable, rxjs

Solution

In your `.getCompanies()` call right after the `.map` add a `.retryWhen`:

.retryWhen((errors) => {
    return errors.scan((errorCount, err) => errorCount + 1, 0)
                 .takeWhile((errorCount) => errorCount < 2);
});

In this example, the observable completes after 2 failures (`errorCount < 2`).

Problem

this is my code: ``` this._api.getCompanies().subscribe( res => this.companies = JSON.parse(res), exception => {if(this._api.responseErrorProcess(exception)) { // in case this retured TRUE then I need to retry() } } ) ``` in case an exception happened, it will be sent to a function in the API then return `true` if the problem is fixed (like token refreshed for example) and it just needs to retry again after its fixed I could not figure out how to make it retry.

Original source