zip异步和同步可观察物

时间:2019-06-20 21:34:29

标签: java rxjs observable rx-java

我有一个同步可观测值和10个其他异步可观测值,它们取决于同步可观测值。如何将它们压缩在一起并得到最终结果?邮编仅接受9个参数..如果我必须将其拆分为2个邮编,那么由于我只有1个同步可观察到的东西,因此该怎么做。请帮忙。

下面是代码:这里的帐户是同步的。

Observable aObservable = getAObservable(accountId);         帐户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();

0 个答案:

没有答案