顺序可观察Web服务和数据库查询调用

时间:2015-09-21 07:07:36

标签: rx-java observable

如何使用RxJava Observable实现顺序Web服务和数据库查询调用?第一个调用是数据库查询(缓存),然后显示结果(onNext或onCompleted),之后是网络调用,然后显示(替换)当前结果(缓存)。我正在使用Volley和听众来显示数据。

1 个答案:

答案 0 :(得分:1)

可以使用concat实施顺序操作。因为两个连接的Observable可以是不同类型ignoreElementscast可能有用:

databaseQueryObservable
    .doOnNext(displayResult)
    .doOnComplete(something)
    .ignoreElements()
    .cast(Object.class)
    .concatWith(
        networkCall
            .doOnNext(displayNetworkCallResult)
            .doOnComplete(somethingElse)
            .ignoreElements()
            .cast(Object.class)
    ).subscribe(onNextAction, onErrorAction, onCompletedAction);