我刚刚学习RxJava 2,在重构代码后使用Single
代替Observable
,我发现Single
没有实现doAfterTerminate()
。
我认为这是一种疏忽,因为所有Flowable
,Completable
和Maybe
类型似乎都在实施doAfterTerminate()
。
是什么给出了?
答案 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'