如何按顺序执行两个可观察对象?

4

如何在rxjava链中顺序执行两个可观察对象并用一个结果覆盖另一个?

例如,我有data1 = observableFromDb和data2 = observableFromServer;

我想将它们组合在一起,并通过data2的结果覆盖data1。


使用 SERIAL_EXECUTOR 逐个执行任务。但仅适用于 Api 11 或更高版本。 - Apurva
你能解释一下“覆盖”是什么意思吗?如果你想要覆盖data1,为什么还要获取它呢? - zsxwing
@zsxwing 的最终目标是展示来自服务器的实际数据(通过服务器数据覆盖数据库中的缓存数据),我认为可以通过以下方法实现:从数据库(缓存)获取数据并向用户显示,然后从服务器获取数据并向用户显示实际数据(进行覆盖)。 - lman
1个回答

4
这是concat运算符的作用 - 按顺序执行给定的Observables - 直到前一个Observable完成后,另一个Observable才会开始。
Observable.concat(dataBaseObservable, networkRequestObservable)
          .subscribe(Data -> {
              // do something with data
          });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接