正确的方式加入rxjava订阅与飞行可观察

时间:2015-08-20 22:25:53

标签: java android rx-java

我有一个方法getData()返回一个Observable。

public Observable<Data> getData() {
  Observable<Data> observable = mApi.networkCall();
  return observable;
}

有许多客户端调用此方法,如果observable还没有完成,我希望他们只是订阅in in flight observable。如果observable已经完成,我需要重新启动调用并获得一个新的observable。检测可观察量的最佳方法是什么,我应该再次拨打网络电话?

1 个答案:

答案 0 :(得分:2)

使用<select class="inputField" name="gender"> <option value="male">Männlich</option> <option value="female" selected>Weiblich</option> </select> 。第一个订阅启动可观察,后续订阅者将收到相同的发射。一旦流终止,所有当前订户将无效,下一个订阅将再次启动可观察。

.share()

请注意,我只希望调用public Observable<Data> getData() { return mApi.networkCall().share(); } 一次并重新使用返回的observable。如果不是这种情况,我们会确保getData()返回单身。