@lacredin
Программист

Как в RxJava асинхронно выполнять намерения?

Я впервые использую rxjava и прочитав о
subscribeOn(Schedulers.newThread())
observeOn(Schedulers.newThread())
Я понадеялся, что смогу сделать вот такую штуку:
Subject<DataObservable> commandToService.subscribeOn(Schedulers.newThread()).observeOn(Schedulers.newThread()).subscribe(observer);
//слушатель
private Observer<DataObservable> observer = new Observer<DataObservable>() {
        @Override
        public void onNext(DataObservable o) {
              //какая-то долгая операция
        }
    };

private void postCommand(DataObservable command){
        commandToService.onNext(command);
}

Я хотел, чтобы из разных частей программы, вызывался postCommand, а observer выполнял различные долгие операции. Но оказалось, что намерения, создаваемые postCommand выполняются синхронно, то есть пока не завершится одно намерение, новое не стартует, вопреки моему ожиданию.
Подскажите, можно ли заставить rxjava запускать намерения параллельно или мне придётся в observer.onNext создавать новые потоки самостоятельно?
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы