Rx Java Операция - PullRequest
       11

Rx Java Операция

0 голосов
/ 27 марта 2020

У меня есть пользовательский класс ввода, в котором есть несколько полей, и я хочу отфильтровать, если поля соответствуют проверке, следует перейти к вызову хранилища, иначе переключиться на другого наблюдателя с закрытым типом класса

, и у меня может быть 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)
...