Ошибка возврата в Single

У меня есть метод:

override fun signIn(userName: String, password: String): Single<User> { return userRemoteDataStore.signIn(userName, password) .map { mapper.mapFromEntity(it) } } 

Пользователь имеет два поля: username и error . Я хочу проверить, не является ли error поля нулевой. Я хочу вернуть эту ошибку. В этом случае я всегда получаю onSuccess. Как я могу это сделать?

Ваше поведение может быть достигнуто с помощью flatMap

 override fun signIn(userName: String, password: String): Single<User> { return userRemoteDataStore.signIn(userName, password) .map { mapper.mapFromEntity(it) } .flatMap { user -> user.error ?.let { error -> Single.error(MyException(error)) } ?: Single.just(user) } } 
  • вызывать часть потока один раз с несколькими подписчиками?
  • Как вы используете Flowable.generate от Kotlin
  • RxJava отличается от Flowable и Observable с помощью Window и Groupby
  • Kotlin не может вывести тип при использовании ссылки метода в Flowable
  • Получить N последних объектов, испускаемых наблюдаемыми в RxJava2
  • Исключение, вызванное: java.lang.ClassNotFoundException: org.reactivestreams.Publisher
  • RxJava2 наблюдаемый не обрабатывается вNext при изменении
  • Применение преобразования к каждому элементу в Single <List <T >>
  • Функция расширения не создает новый объект Observable
  • как перебирать Single <List> и отображать в другой список?
  • Номер Android с RxJava обрабатывает пустой результат запроса
  • Давайте будем гением компьютера.