I have chained multiple calls to the same Completable like this:
self.viewModel.setParameter(parameter: lockReleaseTime)
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockRelease) })
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockVoltage) })
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockPowered) })
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockPowered) })
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockInstall) })
.andThen(Completable.deferred { self.viewModel.setParameter(parameter: lockKick) })
.subscribe(onCompleted: {
print("-- Done setting parameter")
}).disposed(by: self.disposeBag)
The problem here is that the arguments can be nil (lockRelease, lockVoltage, etc); and if they are, I just want to skip the current andThen and proceed to the next andThen sort of like this:
.andThen(Completable.deferred {
guard let lockRelease = lockRelease else {
Completable.skipToNextAndThen
}
return self.viewModel.setParameter(parameter: lockRelease) })
Is it possible to do something like this?