如何在RxJava2中链接两个Completable
问题内容:
我有两个完成。我想做以下情形:如果第一个Completable到达onComplete,则继续第二个Completable。最终结果将是第二完成的onComplete。
当我有单个 getUserIdAlreadySavedInDevice() 和Completable login() 时,这就是我的方法:
@Override
public Completable loginUserThatIsAlreadySavedInDevice(String password) {
return getUserIdAlreadySavedInDevice()
.flatMapCompletable(s -> login(password, s))
}
问题答案:
您正在寻找andThen
运营商。
返回一个Completable,它首先运行此Completable,然后运行另一个Completable。
firstCompletable
.andThen(secondCompletable)
通常,此运算符是flatMap
on 的“替换” Completable
:
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)