retry retryWhen , , , . , , , .
, , :
getData(id) {
return Observable.interval(100)
.take(5)
.concatMap(() => this.service.getData(id))
.filter(response => response.status === "complete")
.take(1)
.map(response => response.data)
}
getData() , , "" , - 5 ( ).
Update:
, "" retry, :
getData(id) {
return this.service.getData(id)
.concatMap(response => response.status === "complete" ?
Observable.of(response) :
Observable.throw("Bad status"))
.map(response => response.data)
.retry(5);
}
, 6 (1 + 5 ), , , , catch. , "" (, ) , - , retryWhen.