如何仅在RxJs中可观察到的源发出的特定错误上重试

How to retry only on certain error emitted by the source observable in RxJs

本文关键字:错误 重试 RxJs 观察 何仅      更新时间:2023-09-26

srcObservable.retry()将捕获由srcObserver发出的错误,并重新订阅srcObObservable,无论错误类型如何。然而,在某些情况下,只希望对srcObservable发出的特定类型的错误进行重试。有没有一种方法可以在RxJ中巧妙地做到这一点?

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