java - Zip 异步和同步 observables
问题描述
我有一个同步可观察对象和 10 个其他异步可观察对象,它们依赖于同步可观察对象。如何将它们压缩在一起并获得最终结果?Zip 只接受 9 个参数。如果我必须将它分成 2 个 zip,该怎么做,因为我只有 1 个同步 observable。请帮忙。
下面是代码:这里的帐户是同步的..
可观察 aObservable = getAObservable(accountId); Account account = aObservable.toBlocking().single();
Observable<List<C>> cObservable = getCObservable(saleInfo);
Observable<B> bObservable = getBObservable(account);
Observable<D> dObservable = getDObservable(account);
Observable<E> eObservable = getEObservable(account);
Observable<F> fObservable = getFObservable(account);
Observable<G> gObservable = getGObservable(account);
Observable<H> hObservable = getHObservable(account);
Observable<I> iObservable = getIObservable(account);
Observable<J> jObservable = getJObservable(account);
Observable<SaleFile> observable =
Observable.zip(
cObservable,
bObservable,
dObservable,
eObservable,
fObservable,
gObservable,
hObservable,
iObservable,
jObservable,
(o1, o2, o3, o4, o5, o6, o7, o8, o9) ->
new SaleFile()
.withA(account)
.withB(o1)
.withC(o2)
.withD(o3)
.withE(o4)
.withF(o5)
.withG(o6)
.withH(o7)
.withI(o8)
.withJ(o9));
return observable.toBlocking().single();
解决方案
推荐阅读
- powershell - TFS 发布管理中的自定义变量
- c++ - std::string [] 运算符和 at() 之间的区别
- javascript - 角 [隐藏] 不起作用
- bash - Linux命令查找n天前的目录
- android-recyclerview - 负偏移导致 RecyclerView 项目消失
- laravel - 如何在 vue js 和 laravel 中使用外部脚本
- javascript - 错误:找不到模块“连接”?
- excel - 将带有渐变填充单元格的 Excel 表格复制到 Outlook 邮件
- c# - 检查以避免在 WPF/C# 中向画布添加多个项目
- wpf - 如何从后面的代码更改资源中的矢量颜色