超时但未结束流



我使用的是Android ReactiveLocation库。我想在最后X分钟内没有收到任何新的位置更新时显示一些警告消息。新位置应重置超时。

如何使用RxJava在不结束流的情况下实现这种超时?

您可以发布源代码,并使用带重试的超时来继续侦听源代码:

Observable<Long> source =
    Observable.just(100L, 200L, 500L, 1000L, 5000L, 5500L, 6000L)
    .flatMap(v -> Observable.timer(v, TimeUnit.MILLISECONDS).map(a -> v));
source.publish(co -> co.timeout(750, TimeUnit.MILLISECONDS)
        .doOnError(System.out::println)
        .retry()
).toBlocking().forEach(System.out::println);

相关内容

  • 没有找到相关文章

最新更新