java - 如何在 RxJava2 中链接两个 Completable

标签 java rx-java rx-java2

我有两个 Completable。我想做以下场景: 如果第一个 Completable 到达 onComplete ,则继续第二个 Completable。最终结果将是第二个 Completable 的 onComplete。

当我有 Single getUserIdAlreadySavedInDevice() 和 Completable login() 时,我就是这样做的:

@Override
public Completable loginUserThatIsAlreadySavedInDevice(String password) {
    return getUserIdAlreadySavedInDevice()
            .flatMapCompletable(s -> login(password, s))

}

最佳答案

您正在寻找 andThen 运算符。

Returns a Completable that first runs this Completable and then the other completable.

firstCompletable
    .andThen(secondCompletable)

一般来说,这个操作符是 CompletableflatMap 的“替代品”:

Completable       andThen(CompletableSource next)
<T> Maybe<T>      andThen(MaybeSource<T> next)
<T> Observable<T> andThen(ObservableSource<T> next)
<T> Flowable<T>   andThen(Publisher<T> next)
<T> Single<T>     andThen(SingleSource<T> next)

关于java - 如何在 RxJava2 中链接两个 Completable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42680980/

相关文章:

java - 如何使用子类对象访问隐藏的父类(super class)成员

java - RxJava - Just vs From

kotlin - RxJava 返回单,执行完之后

asynchronous - 如何使用 RxJava 发出多个 API 请求并将它们组合起来?

java - RxJava2 上的 MVP。何时使用它

java - RxJava Single/Observable 返回接口(interface)的实现

java - javafx 中的标签未随线程自动更新

java - 如何在for循环中使用数组来计算最小值?

java - 分配给多维数组中的 arr[x][y] 时出现 NullPointerException

java - 忽略 Observable<Single<T>> 中的错误