如何使用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() }