链接可观察对象RxJava

时间:2019-05-30 13:11:45

标签: android observable rx-java chain

我正在尝试以这种方式制作一堆可观察的东西

1步(顺序在这里并不重要,因此它们可以同时运行)

Task_User_Login.run();   -> Completable
downloadListOfStreets(); -> Completable

2必须在步骤1之后执行步骤(内部顺序并不重要,因此它们可以同时运行,并且必须同时合并)

downloadListOfProducts();    -> Observable<Object>
downloadListOfIngredients(); -> Observable<Object>

3步骤2之后必须执行步骤

logoutDummySession();   -> Completable

编辑

我已经尝试了几件事...但是我不知道如何使它工作。这是我最新的代码

(Task_User_Login.run(AppConstants.defaultLoginParameters))
                .andThen(downloadListOfStreets().doOnComplete(this::onStreetsDownloaded))
                    .andThen(Observable.merge(downloadListOfProducts(), downloadListOfIngredients()))
                        .subscribeOn(Schedulers.io())
                        .observeOn(AndroidSchedulers.mainThread())
                        .doOnNext(item -> updateItemsDownloaded())
                        .doOnError(error -> downloadCompleted.postValue(Response.error(error)))
                        .doOnComplete(() -> downloadCompleted.postValue(Response.success(null)))
                        .subscribe();

现在的问题是,我需要等到第一步完成后才能进行下一个,而现在还没有发生。

任何帮助将不胜感激。

0 个答案:

没有答案