RxJava – Observable的zip列表
我有一个Observables列表(RxJava 1)。
List observableList = new ArrayList();
它可以包含至少1个Observable。 每个都有相同类型的结果。
如何压缩所有Observable的结果?
我想到了zip-operator但它不支持List,我不知道可观察量的数量(可以是1,2,3,4 ……)
您可以使用静态zip(java.lang.Iterable extends Observable>> ws,FuncN extends R> zipFunction)
方法 。
它是一个zip
方法,它接受一个Iterable
的Observable
和一个FuncN
(它的call
方法接受一个varargs参数)并使用它将相应的发出的Object
组合成结果,以便新返回的Observable
省略。
例如,您可以这样做:
Observable.zip(observableList, new FuncN(){ public ReturnType call(java.lang.Object... args){ ReturnType result; //to be made //preparatory code for using the args for (Object obj : args){ ReturnType retObj = (ReturnType)obj; //code to use the arg once at a time to combine N of them into one. } return result; } });