Я использую retrofit2 и изучаю RxJava (с Retrolambda). Я пытаюсь добиться следующего потока:
- получить список пользователей
- для каждого пользователя получить подробную информацию о пользователе для данного user_id.
- вернуть список пользователей с подробностями.
Это мой код до сих пор:
getUsers().flatMapIterable(users -> users)
flatMap(user -> getDetailInfo(user.getID()
.doOnNext(detailInfo -> user.setDetailInfo(detailInfo))
.map(detailInfo -> user))
.toList().subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
subscribe(users -> {}, error -> {});
Проблема в том, что когда getDetailInfo дал ответ 404, наблюдаемый вход в область ошибки, даже getUsers, дал ответ 200. Как мне получить ответ, входящий в область пользователя, если getUsers дал ответ 200?
Надеюсь, я был достаточно ясен. Спасибо
.onErrorReturn()? - person KERiii   schedule 21.06.2016.onErrorReturn(throwable -> user)после.map. Это работает, но я хочу убедиться, что это правильная реализация? Благодарность - person Tobi   schedule 21.06.2016onErrorReturnинструктирует Observable генерировать определенный элемент, когда он сталкивается с ошибкой, а затем нормально завершается. - person KERiii   schedule 22.06.2016