首页 文章

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

提问于
浏览
1

我只是学习RxJava 2,在重构代码后使用 Single 而不是 Observable ,我发现 Single 没有实现 doAfterTerminate() .

这看起来是一种疏忽,因为所有 FlowableCompletableMaybe 类型似乎都实现 doAfterTerminate() .

是什么赋予了?

2 回答

  • 1

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

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

    实际上,由于缺乏对它的需求,该运营商失踪了 . 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();
    

相关问题