When we want to handle error observable in RxJS v6+, we can use ‘retryWhen‘ and ‘delayWhen‘:
const courses$: Observable<Counse[]> = http$ ???.pipe( ???????tap(() => console.log("HTTP request")), ???????map(res => Object.values(res[‘payload‘])), ???????shareReplay(), // avoid using async pipe multi times causing multi network request ???????retryWhen(errors => errors.pipe( ??????????delayWhen(() => timer(2000)) // wait 2s after the error observable happens ???????????)))
[RxJS 6] The Retry RxJs Error Handling Strategy
原文地址:https://www.cnblogs.com/Answer1215/p/9278994.html