Я просто хочу спросить, возможно ли получить ответ другой наблюдаемой после обнаружения ошибки другой наблюдаемой?
Например, я вызываю Аватар и Приложение в два API, используя combineLatest
.
val avatar: Observable<ResponseBody> = api().getAvatar()
val attachment: Observable<ResponseBody> = api().getAttachment()
val obs = Observables.combineLatest(avatar, attachment)
.map { it ->
if (it.first is Exception) {
Log.e(TAG, "getAvatar failed")
} else {
updateAvatar()
}
if (it.second is Exception) {
Log.e(TAG, "getAttachment failed")
} else {
updateAttachment()
}
if (it.first !is Exception && it.second !is Exception) {
Log.i(TAG, "success first=${it.first}, second=${it.second}")
updateAll()
}
}
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.onErrorReturn { it }
.subscribe()
disposable.add(obs)
Я просто хочу получить ответ аватара, если ошибка вложения, и я хочу получить ответ вложения, если ошибка аватара.
Спасибо.