java - RxJava 允许多次 onError 调用

标签 java android rx-java

我正在尝试在下一次和错误调用时允许无限流。

下面的代码使用了 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);
    }
}

我的理想用例将允许我订阅所有错误以及来自主题/可观察对象的所有下一次调用并采取行动。

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

是否有可能实现我打算做的事情,或者 RxJava 的 onError 断链设计是否完全阻止了这个想法。

最佳答案

如本帖 (Rxjava discussion) 中所述,这是无法完成的。

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

关于java - RxJava 允许多次 onError 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36479654/

相关文章:

android - Com.google.android.gms 已经添加到输出中。请删除重复的对象

android - WifiManager.setWifiEnabled 在 hive 上无法正常工作

java - 内部 RecyclerView 列表文本未通过 SetText 显示在标题 TextView 上

android - 使用 Android 库时如何取消订阅 Observable

java - 返回第一个结束任务的Java中的任务执行器

具有多个相同 ArrayList 元素的 Java 有效方法

java - 将 Spring Transaction 与 Mybatis 批处理结合使用

java - 从 PHP 到 Android 的 HTTP 响应字符串

java - Spring 集成 - 用于整理/批处理服务调用的适当模式

java - 如何让 spring boot mvc 理解 observables?