如何仅在 RxJs 中可观察到的源发出的某些错误上重试
How to retry only on certain error emitted by the source observable in RxJs
A srcObservable.retry() 将捕获 srcObservable 发出的错误并重新订阅 srcObservable,而不管错误的类型。但是,在某些情况下,只希望重试 srcObservable 发出的某些类型的错误。有没有办法在 RxJs 中巧妙地做到这一点?
尝试使用 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;
}
});
});
A srcObservable.retry() 将捕获 srcObservable 发出的错误并重新订阅 srcObservable,而不管错误的类型。但是,在某些情况下,只希望重试 srcObservable 发出的某些类型的错误。有没有办法在 RxJs 中巧妙地做到这一点?
尝试使用 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;
}
});
});