rx-java - 订阅(new Observer<T>()) vs 订阅(new Subscriber<T>()

标签 rx-java rx-android

subscribe(new Observer<T>()) 和有什么区别和subscribe(new Subscriber<T>()
我应该在什么情况下使用哪一个?

最佳答案

要回答您的问题,您应该深入研究这两个函数的代码,subscribe(new Observer()) subscribe(new Subscriber())

简而言之,带有观察者的版本首先检查传递的参数是否是订阅者的子类型,如果是,则调用第二个版本,否则它只是将传递的观察者包装在订阅者中并调用第二个版本。

鉴于第一个方法基本上用作包装器,除非您有任何理由使用 Observer 而不是 Subscriber,否则您应该使用后者。

关于rx-java - 订阅(new Observer<T>()) vs 订阅(new Subscriber<T>(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31938544/

相关文章:

java - RxAndroid 在相机更改时去抖谷歌地图

android - 按钮单击监听器在 RxAndroid onError 后停止工作

rx-java - interval() 和 repeatWhen() 之间的区别,用于从 Observable 中按间隔轮询

java - 无法创建调用适配器 rx.Observable<POJO>

java - Observables 的单元测试客户端

android - 改进 RxJava 中的请求取消

java - 将 Observable 与第二个 Observable 结合使用第一个 Observable 的结果

rx-java - 组合在不同线程中运行的两个 Observables

java - Single.retry(3) 仅调用一次

android - Schedulers.io() 不返回主线程