0
让我们假设我有这样组播可观测值,许多用户
public Observable<Data> getData() {
return Observable.concat(cacheObservable(), networkObservable()).first();
}
它返回可观察到来自高速缓存或网络数据的功能。如果值已经保存,cacheObservable将返回它,否则进行网络调用。
我想知道我怎么能处理给定的情景:
1)用户订阅的getData观察到。
2)缓存为空,因此将使用networkObservable。
3)在网络请求第二用户被订阅的getData观察的和另一个请求的情况下(因为高速缓存仍是空的)
我怎样才能保证第二订户将来自所述第一请求重用值和请求将只为第一次订阅?