Как собрать асинхронный ответ с помощью 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() }