如何使用RxJava Observable实现顺序Web服务和数据库查询调用?第一个调用是数据库查询(缓存),然后显示结果(onNext或onCompleted),之后是网络调用,然后显示(替换)当前结果(缓存)。我正在使用Volley和听众来显示数据。
答案 0 :(得分:1)
可以使用concat
实施顺序操作。因为两个连接的Observable可以是不同类型ignoreElements
和cast
可能有用:
databaseQueryObservable
.doOnNext(displayResult)
.doOnComplete(something)
.ignoreElements()
.cast(Object.class)
.concatWith(
networkCall
.doOnNext(displayNetworkCallResult)
.doOnComplete(somethingElse)
.ignoreElements()
.cast(Object.class)
).subscribe(onNextAction, onErrorAction, onCompletedAction);