java - 处理 Observable.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);
解决方案
看起来 o1 和 o2 实际上应该是 Singles (只产生一个元素)并且您希望 03 也是一个元素,在这种情况下您可以这样做
var result = Single.zip(
o1.toSingle(),
o2.toSingle(),
(o1Result, o2Result) -> new O3(o1Result, o2Result))
.blockingGet();
如果您使用的是 Rx java 2。
推荐阅读
- javascript - 按时间顺序对月份的对象进行排序?
- sql-server - 无法对具有聚集列存储索引的表启用更改数据捕获。考虑删除聚集列存储索引
- laravel - Laravel whereHas Filter 子关系
- r - 你好!有没有办法对数据框中特定列的行求和(添加)(请参见附图)?其他列如何受到影响?
- python - 两个列表中所有可能的值组合的 Pandas 数据框
- javascript - 我在 java 脚本中有这个错误:TypeError: db.run is not a function
- angular - 如何在Angular中为表格着色?
- ios - 当我运行这个 NPX POD-INSTALL 时,它给了我这个项目不支持这个 COCOAPODS #ReactNative
- javascript - Cypress - 在 BeforeEach Hook 中调用自定义命令
- angular - 如何使用引导程序将元素一一放置在具有不透明度的网格系统中