Итак, вы хотите, чтобы никогда не было вложенных subscribe
вызовов.Вместо этого вы преобразуете исходные наблюдаемые значения, иногда в другое значение, в другое время с другим наблюдаемым.
SVProgressHUD.show()
params.address = address
print(params)
viewmodel
.postSeekerAvatar(image: image)
.flatMap {
self.viewmodel
.updateSeeker(withFirstName: params.firstName, lastName: params.lastName, isBusiness: params.isBusiness, abn: "none", address: params.address)
}
.subscribe(onSuccess: {
SVProgressHUD.dismiss()
self.performSegue(withIdentifier: SegueConstants.toProfileForm, sender: self)
}, onError: { (error) in
SVProgressHUD.showDismissableError(with: error.message)
})
.disposed(by: disposeBag)
Итак, здесь сначала будет подписан postSeekerAvatar
, и каждый раз, когда оно выталкивает значение,updateSeeker
также будет подписан на.Если какая-либо из них выдаст ошибку, будет выполнено ее закрытие.