I have two Completable. I would like to do following scenario: If first Completable gets to onComplete , continue with second Completable. The final results would be onComplete of second Completable.
This is how I do it when I have Single getUserIdAlreadySavedInDevice() and Completable login():
@Override
public Completable loginUserThatIsAlreadySavedInDevice(String password) {
return getUserIdAlreadySavedInDevice()
.flatMapCompletable(s -> login(password, s))
}
You are looking for andThen
operator.
Returns a Completable that first runs this Completable and then the other completable.
firstCompletable
.andThen(secondCompletable)
In general, this operator is a "replacement" for a 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)