Обработка ответа Observable.zip - PullRequest
0 голосов
/ 25 июня 2018

Я хочу вызвать два параллельных вызова службы и заполнить ответ в другой объект для дальнейшей обработки такой же, как показано ниже

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 голосов
/ 25 июня 2018

Похоже, что o1 и o2 на самом деле должны быть Singles (производя ровно один элемент), и вы ожидаете, что 03 также будет одним элементом, и в этом случае вы можете сделать

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

Если вы используете Rx Java2.

...