У меня есть пользовательский класс ввода, в котором есть несколько полей, и я хочу отфильтровать, если поля соответствуют проверке, следует перейти к вызову хранилища, иначе переключиться на другого наблюдателя с закрытым типом класса
, и у меня может быть defferent такие поля как телефон и другие поля не должны быть пустыми и т. д. c ..
Я сделал это
Observable.just(createCustomer)
.filter { validateName(it.firstName) }
.switchIfEmpty { Observable.just(NotValidFirstName) }
// request the create customer
.flatMap { value -> userRepository.createCustomer(value).toObservable() }
.filter { it.createCustomer == null }
// switch filter if not cannot create user
.switchIfEmpty { Observable.just(CannotCreateUser) }
.firstOrError()
// map the result to the User Created result
.flatMap { Single.just(UserCreated(it.createCustomer)) }
.cast(CreateUserResult::class.java)
.onErrorReturn { FailCustomerCreation(it) }
And I always get empty stream :D
[] (latch = 1, values = 0, errors = 0, completions = 0)