如何仅重试由RxJs中的源observable发出的某些错误

问题描述:

srcObservable.retry()将捕获srcObservable发出的错误,并重新订阅srcObservable,而不管错误的类型如何。但是,在某些情况下,它只希望重试由srcObservable发出的某种类型的错误。整洁地在RxJs中有这样做的方法吗?如何仅重试由RxJs中的源observable发出的某些错误

尝试使用retryWhen

src.retryWhen(function (errors) { 
    // retry for some errors, end the stream with an error for others 
    return errors.do(function (e) { 
     if (!canRetry(e)) { 
      throw e; 
     } 
    }); 
});