@Neonoviiwolf
Flutter developer

Как вернуть Object в методе, когда закончится работа RxJava?

Доброго
Есть метод, он должен получить Object, когда закончит работу Rxjava, но не знаю как правильно сделать, сейчас я получаю при вызове NullPointerException.
Observable запрашивает данные из BD в io потоке, Observer создаёт экземпляр класса в главном потоке - это всё работает. Но как дождаться, чтобы метод ждал завершение работы запроса в бд, а не возвращал null
вот отрывок сокращённый
private DataTransferAddProduct addProduct;

    @Override
    public DataTransferAddProduct loadFromDB(int id_product) {

        Observable.create(observableEmitter -> {
        // тут происходит запрос
        }).subscribeOn(Schedulers.io())
                .observeOn(JavaFxScheduler.platform())
                .subscribe(o -> {
                    addProduct = (DataTransferAddProduct) o;
                });
/**return срабатывает до того, как  вызовется -  addProduct = (DataTransferAddProduct) o; */
        return addProduct; 
    }
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Ну можно вызвать toBlocking(), но это в корне неправильно. Возвращай дальше Observables, иначе нафига там вообще rx?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
25 апр. 2024, в 14:44
10000 руб./за проект
25 апр. 2024, в 14:44
250 руб./в час