[RxJS 6] The Retry RxJs Error Handling Strategy

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    
        ))
)

猜你喜欢

转载自www.cnblogs.com/Answer1215/p/9278994.html