java - RxJava Observable 最短执行时间

标签 java rx-java reactivex

我有一个 Observable(从网络获取数据)。 问题是 Observable 可能快也可能慢,这取决于网络条件。

我在 observable 执行时显示进度小部件,并在 observable 完成时隐藏它。当网络速度快时 - 进度闪烁(出现和消失)。我想将 observable 的最短执行时间设置为 1 秒。我该怎么做?

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

最佳答案

您可以为此使用 Observable.zip()。给定

Observable<Response> network = ...

可以做到

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

关于java - RxJava Observable 最短执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061463/

相关文章:

javascript - RxJS 5 子类化 Observable - 静态方法返回父类的实例

android - RxJava : BehaviorSubject not receiving subsequent emissions from source Observable

java - 使用 ITextPDF 保存 PDF 文件

java - scala 与 Java 不匹配和推断类型参数

java - WebView loadDataWithbaseURL java.lang.NullPointerException

android - Retrofit 2 + RxJava 将类似的请求干净地链接在一起

rx-java - .defer() 在 RxJava 中有什么作用?

Java:检查字符串是否以特殊字符结尾或开头

java - RxJava Observable.fromEmitter 奇怪的背压行为

ios - 如何使用 RxSwift 将一种类型的 Observable 数组转换为不同类型的 Observable 数组