Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rx java 顺序可观察Web服务和数据库查询调用_Rx Java_Observable - Fatal编程技术网

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

Rx java 顺序可观察Web服务和数据库查询调用,rx-java,observable,Rx Java,Observable,如何使用RxJava Observable实现顺序web服务和数据库查询调用?第一个调用是数据库查询(缓存),然后显示结果(onNext或onCompleted),然后是网络调用,然后显示(替换)当前结果(缓存)。我正在使用Volley with listener来显示数据。可以使用concat实现顺序操作。因为两个串联的观测值可以是不同类型的ignoreElements和cast可能很有用: databaseQueryObservable .doOnNext(displayResult

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

可以使用
concat
实现顺序操作。因为两个串联的观测值可以是不同类型的
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);

我是否需要在数据库QueryObservable和NetworkCall中完成订阅服务器?你能给我举个例子吗?还包括订户实现。谢谢,完全由你决定。我会给你打额外的电话,让你随心所欲。就订阅服务器而言,您还可以创建新的订阅服务器{},并根据需要实现所需的方法(可能只是为了日志记录?)。