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

 

posted @ 2018-07-08 01:06  Zhentiw  阅读(181)  评论(0)    收藏  举报