Rx java 如何在使用RxJava执行周期性请求时避免重叠请求
我想使用RxJava(实际上是RxJava2)定期发送网络(HTTP)请求。第一次尝试大致如下所示(改编自此): 这将每隔5秒调用sendNetworkRequest 但是,如果sendNetworkRequest()需要一段时间才能完成(例如在速度较慢的网络上,或者如果有多次重试…),则请求将重叠 我想做的是确保请求之间有5秒的间隔,即从上一个请求结束到下一个请求开始Rx java 如何在使用RxJava执行周期性请求时避免重叠请求,rx-java,reactive-programming,rx-java2,reactivex,Rx Java,Reactive Programming,Rx Java2,Reactivex,我想使用RxJava(实际上是RxJava2)定期发送网络(HTTP)请求。第一次尝试大致如下所示(改编自此): 这将每隔5秒调用sendNetworkRequest 但是,如果sendNetworkRequest()需要一段时间才能完成(例如在速度较慢的网络上,或者如果有多次重试…),则请求将重叠 我想做的是确保请求之间有5秒的间隔,即从上一个请求结束到下一个请求开始 如何使用RxJava实现这一点?使用repeatWhen Observable.fromCallable(sendNe
如何使用RxJava实现这一点?使用
repeatWhen
Observable.fromCallable(sendNetworkRequest())
.repeatWhen(observable -> observable.delay(5, TimeUnit.SECONDS));
伟大的这正是我需要的。
Observable.fromCallable(sendNetworkRequest())
.repeatWhen(observable -> observable.delay(5, TimeUnit.SECONDS));