Android Rxjava大量迭代,然后跳过记录
在我当前的项目中,我陷入了一个过程。我不能多谈那个项目,这就是为什么我要解释我陷入困境的部分 这个项目中有很多记录,比如说200万条,我想把它们全部重复一遍Android Rxjava大量迭代,然后跳过记录,android,rx-java,Android,Rx Java,在我当前的项目中,我陷入了一个过程。我不能多谈那个项目,这就是为什么我要解释我陷入困境的部分 这个项目中有很多记录,比如说200万条,我想把它们全部重复一遍 我尝试通过多种方式对它们进行迭代,在我的例子中,它跳过了一些记录,如果发生了一些错误,那么我希望返回成功迭代的记录。我想我之前遇到过这个问题。下面的代码将帮助您实现这一目的 private val compositeDisposable = CompositeDisposable() fun thenAllValuesAreBuffered
我尝试通过多种方式对它们进行迭代,在我的例子中,它跳过了一些记录,如果发生了一些错误,那么我希望返回成功迭代的记录。我想我之前遇到过这个问题。下面的代码将帮助您实现这一目的
private val compositeDisposable = CompositeDisposable()
fun thenAllValuesAreBufferedAndReceived() {
val observable = Observable.rangeLong(0,10000)
val testSubscriber = observable
.toFlowable(BackpressureStrategy.BUFFER)
.subscribeOn(Schedulers.computation())
.observeOn(Schedulers.computation())
.buffer(500)
//.subscribe(::println)
.subscribeWith(object :FlowableSubscriber<List<Long>>{
override fun onComplete() {
println("Flowable OnComplete")
}
override fun onSubscribe(s: Subscription) {
println("Flowable onSubscribe")
s.request(20)
}
override fun onNext(t: List<Long>?) {
println("Flowable onNext $t")
}
override fun onError(t: Throwable?) {
println("Flowable onError")
}
})
}
这些与问题有什么关系?这个答案将有助于减少数据丢失。因为我们每批500个。
override fun onDestroy() {
super.onDestroy()
compositeDisposable.clear()
compositeDisposable.dispose()
}