【发布时间】:2019-06-23 22:30:29
【问题描述】:
我有一个同步可观察对象和 10 个其他异步可观察对象,它们依赖于同步可观察对象。如何将它们压缩在一起并获得最终结果? Zip 只接受 9 个参数。如果我必须将它分成 2 个 zip,该怎么做,因为我只有 1 个同步 observable。请帮忙。 下面是代码:这里账户是同步的..
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();
【问题讨论】:
-
我猜你不需要合并 2 个
zipedObservables,但zip也一样。 -
Zip 只接受 9 个参数。你能为此提出一个可行的解决方案吗?
标签: java observable rx-java rx-java2 rx-android