如何仅对RxJ中源observable发出的某些错误进行重试

时间:2015-03-19 00:34:55

标签: javascript rxjs

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

1 个答案:

答案 0 :(得分:9)

尝试使用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;
        }
    });
});