這裏是我的目標是收集異步響應:收集來自來自第三方庫的異步任務的響應如何使用RxJava
要求:使用RxJava2爲了完成
我被困在想使用哪些運營商或運營商這樣做,想法是值得讚賞的。
我的想法是:
Flowable.fromIterable(list)
.anOperatorCanOnNextTheResponse()
.buffer()
.subscribe(newList)
這裏是我的目標是收集異步響應:收集來自來自第三方庫的異步任務的響應如何使用RxJava
要求:使用RxJava2爲了完成
我被困在想使用哪些運營商或運營商這樣做,想法是值得讚賞的。
我的想法是:
Flowable.fromIterable(list)
.anOperatorCanOnNextTheResponse()
.buffer()
.subscribe(newList)
最後我以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()
}
您可能想在'subscribe'之前'subscribeOn'。否則緩衝區操作將發生在Android的主線程 – Pelocho
感謝您的提示,它應該觀察緩衝區後的主線程() –
你能告訴我們你被困住的東西嗎? – nhaarman
@nhaarman我更新了我的問題。 –
我想你可以在訂閱者的onNext方法中收集響應,並使用onCompleted中收集的所有方法。 – Kota1921