编程语言
首页 > 编程语言> > 如何在RxJava2中链接两个Completable

如何在RxJava2中链接两个Completable

作者:互联网

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

当我有单个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)

通常,此运算符是Completable上flatMap的“替换”:

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)

标签:rx-java2,java,rx-java
来源: https://codeday.me/bug/20191005/1855065.html