如何仅重试由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;
}
});
});