我有一个Observables列表(Rx
Java 1).
- List<Observable> observableList = new ArrayList<>();
它可以包含至少1个Observable.每个都有相同类型的结果.
如何压缩所有Observable的结果?
解决方法
您可以使用静态
zip(java.lang.Iterable<? extends Observable<?>> ws,FuncN<? extends R> zipFunction)
method.
它是一个zip方法,它接受一个Iterable of Observables和一个FuncN
(它的调用方法采用varargs参数)并使用它将相应的发射对象组合成结果,以便新返回的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;
- }
- });