RxJava Observable最短执行时间

wil*_*dev 4 java rx-java reactivex

我有一个Observable(从网络获取数据).问题是可观察的速度可能快或慢,具体取决于网络状况.

我显示进度小部件,当observable正在执行时,并在observable完成时隐藏它.当网络快速 - 进展flikers(出现和消失).我想将可观察的最小执行时间设置为1秒.我怎样才能做到这一点?

"延迟"运算符不是一个选项,因为即使对于慢速网络它也会延迟.

m.o*_*hov 5

你可以用Observable.zip()它.特定

Observable<Response> network = ...
Run Code Online (Sandbox Code Playgroud)

一个人可以做到

Observable<Integer> readyNotification = Observable.just(42).delay(1, TimeUnit.SECONDS);
Observable delayedNetwork = network.zipWith(readyNotification, 
                                                (response, notUsed) -> response);
Run Code Online (Sandbox Code Playgroud)