处理Observable.zip响应

时间:2018-06-25 15:34:14

标签: java rx-java rx-java2

我想并行调用两个服务调用并在其中填充响应  与下面相同的其他对象进行进一步处理

Observable<O3> o3 = Observable.zip(o1, o2(ent, acct)-> { return new O3(ent,acct);});

只想知道,处理响应的更好方法是什么?

 1 o3.toBlocking().single();

 2) List<O3> O3List;
    O3.subscribe(e -> {
        o3List.add(e);
       });
    O3List.get(0);

1 个答案:

答案 0 :(得分:0)

看起来像o1和o2实际上应该是Singles(仅生成一个元素),并且您希望03也可以是一个元素,在这种情况下,您可以做到

var result = Single.zip(
    o1.toSingle(), 
    o2.toSingle(),
   (o1Result, o2Result) -> new O3(o1Result, o2Result))
.blockingGet();

如果您使用的是Rx Java 2。