在RxJava中组合未知数量的Observable

Van*_*ran 6 java concurrency asynchronous java-ee rx-java

我有一种情况,我必须根据请求创建N个 Observable对象.我知道我可以zip用来组合一定数量的Observables.但是,我试图理解如何组合未知数量的Observable.

我不清楚的部分是传递给哪些功能zip.根据Observable的数量,我必须创建一个带有N个参数的lambda .

所有Observable都返回不同类型的对象.

Mak*_*dov 1

您可以使 Observables 返回常见类型的对象,将其合并并作为 List 进行处理:

class Result1 implements Result
class Result2 implements Result
class REsult3 implements Result

for(Observable o : yourObservableList)
    resultObservable.mergeWith(o) //use concat() if you need serial execution

resultObservable
    .toList()
    .doOnNext(results -> {
        //process your results (List<Result>)
    }
    .subscribe(...)
Run Code Online (Sandbox Code Playgroud)