这是我的目标:收集来自第三方库的异步任务的响应
要求:使用RxJava2按顺序完成
我一直在考虑使用哪个运营商或运营商这样做,我们很感激。
我的想法是:
Flowable.fromIterable(list)
.anOperatorCanOnNextTheResponse()
.buffer()
.subscribe(newList)
答案 0 :(得分:0)
最后我通过使用PublishProcessor完成了,PublishSubject也可以做到这一点,但我跳过了它们之间的区别。
val mPublishProcessor: FlowableProcessor<String> = PublishProcessor.create<String>().toSerialized()
list.forEach {
doSomeAsyncTasksWithCallback(string) {
mPublishProcessor.onNext(string)
}
}
mPublishProcessor
.buffer(list.size)
.observeOn(AndroidSchedulers.mainThread())
.subscribe {
doSomethingWithTheCollectedStrings()
}