@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?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы