有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java句柄是可观察的。zip响应

我想并行调用两个服务调用,并在中填充响应 用于进一步处理的不同对象如下所示

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) 个答案

  1. # 1 楼答案

    看起来o1和o2实际上应该是单元素(只产生一种元素),而你期望03也是一种元素,在这种情况下你可以这样做

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

    如果您使用的是RXJava2