【问题标题】:RxJava - Can I Bypass onSuccess and only have an onError option?RxJava - 我可以绕过 onSuccess 并且只有 onError 选项吗?
【发布时间】:2026-01-18 18:15:01
【问题描述】:

我正在创建一个Disposable

myDisposable = myObservableMethod().subscribe(this::mySuccess, this::myError);

在这种情况下,如果myObservableMethod() 返回成功,我无需再做任何事情,所以mySuccess() 是一个空方法并且无缘无故地存在。

我试过这个:

myDisposable = myObservableMethod().doOnError(this::myError).subscribe();

但是我遇到了崩溃。

有没有在不需要 onSuccess 的情况下调用它?

【问题讨论】:

  • 使用静态的空消费者实例:public static final Consumer<Object> emptyConsumer = o -> { };,因此您无需到处定义空方法/lambda。

标签: rx-java observable subscribe disposable


【解决方案1】:

你有崩溃是因为你没有处理错误,异常被抛出到上层,并且由于未处理的异常而崩溃。

你可以放置空的 lambda

... subscribe(ignore -> {}, this::myError)

【讨论】:

    最近更新 更多