Subclassing Observable

时间:2015-04-27 10:51:21

标签: rx-java

我想子类化一个observable来创建一个带有额外函数的observable。额外函数将告诉调用者observable具有活动缓存并将立即返回。

这是我想要实现的用例:

func fetchData():
    Observable observable = getObservable()
    if !observable.hasActiveCache():
        showLoading()

    observable.subscribe(subscriber)

所以我只想显示加载对话框,如果observable将从网络中获取数据。

我已经尝试了子类化observable(类MyObservable扩展了Observable),它在某些情况下有效。但是,如果链中的某个地方有人做了例如可观察的地图,那么它似乎再次成为常规的可观测数据。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用流畅的操作员调用时,RxJava中的类型会丢失得相当快。您最好的选择是使用自定义函数保留对原始Observable的引用,并直接调用它。 (我们对GroupedObservables,Subjects和ConnectableObservables也有类似的不便。)