加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

RxJava允许多个onError调用

发布时间:2020-12-15 04:33:33 所属栏目:Java 来源:网络整理
导读:我试图在下一次和错误调用时允许无限的流. 下面的代码使用了 retry() 方法,我假设它允许我看到对onNext的所有3个调用,但是在错误之后没有其他任何调用. public class TesterClass {? public static void main(final String[] args) { final PublishSubjectVo
我试图在下一次和错误调用时允许无限的流.

下面的代码使用了retry()方法,我假设它允许我看到对onNext的所有3个调用,但是在错误之后没有其他任何调用.

public class TesterClass {
?
    public static void main(final String[] args) {
        final PublishSubject<Void> publishSubject = PublishSubject.create();
?
        publishSubject
                .retry()
                .subscribe(
                        aVoid -> System.out.println("onNext"),Throwable::printStackTrace,() -> System.out.println("onComplete")
                );
?
        publishSubject.onNext(null);
        publishSubject.onNext(null);
        publishSubject.onError(new Exception("onError"));
        publishSubject.onNext(null);
    }
}

我理想的用例允许我订阅并对所有错误以及主题/可观察的所有下一个调用采取行动.

我还尝试使用自定义运算符实现解决方案,如here所示,但我也没有运气.

是否有可能实现我要做的事情,或者RxJava的onError设计是否会破坏链条完全阻止这个想法.

解决方法

如此线程( Rxjava discussion)中所述,这是不可能的.

如果错误不应终止流,则通过OnNext将错误包装到消息中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读