RxJava可观察对象:调用onError然后重试

3

我目前正在使用retry()来重新订阅我的Observable,以防错误发生。 通过这种方式,我的SubscriberonError不会被调用:有一种方法可以让onError被调用,然后再重新订阅Observable吗?

1个回答

8
根据Observable Contract,如果您调用了onError,则您的observable将不会再发出任何项。仅出于这个原因,我认为您不应该尝试以这种方式实现它(允许错误传播到subscriber)。
如果您想在出现错误时执行任何操作,请尝试在retry()之前使用doOnError()
因此,您的代码可能如下所示:
getObservableThatMaybeEmitsTheError()
    .doOnError(throwable -> LogTheErrorMethod(throwable))
    .retry()
    ...
    .subscribe()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接