Zip асинхронные и синхронные наблюдаемые - PullRequest
0 голосов
/ 21 июня 2019

У меня есть синхронная наблюдаемая и 10 других асинхронных наблюдаемых, которые зависят от наблюдаемой синхронизации. как сжать их вместе и получить конечный результат? Zip принимает только 9 аргументов ... если мне нужно разделить его на 2 zip, как это сделать, поскольку у меня есть только 1 синхронная наблюдаемая. Пожалуйста, помогите.

Ниже приведен код: Здесь учетная запись является синхронной ..

Observable aObservable = getAObservable (accountId); Аккаунт = 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();
...