为什么单个<>中缺少doAfterTerminate()在RxJava 2中?

时间:2017-02-10 20:22:42

标签: rx-java rx-java2

我刚刚学习RxJava 2,在重构代码后使用Single代替Observable,我发现Single没有实现doAfterTerminate()

我认为这是一种疏忽,因为所有FlowableCompletableMaybe类型似乎都在实施doAfterTerminate()

是什么给出了?

2 个答案:

答案 0 :(得分:1)

事实上,由于缺乏对它的需求,该运营商失踪了。 PR#5093添加它并将成为本周三到期的 RxJava 2.0.6 的一部分。

此前最接近的解决方法是doFinally

Single.just(1).doFinally(() -> System.out.println("Done")).subscribe();

Single.error(new IOException()).doFinally(() -> System.out.println("Done")).subscribe();

Single.never().doFinally(() -> System.out.println("Done")).subscribe().dispose();

答案 1 :(得分:0)

现在,由于RxJava已经更新,您可以在代码中更新RxJava2版本。目前,最后一个版本是2.1.0,因此请将此行添加到您的模块build.gradle

compile 'io.reactivex.rxjava2:rxjava:2.1.0'