Задать вопрос
@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 создавать новые потоки самостоятельно?
  • Вопрос задан
  • 234 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Skillbox
    Разработчик игр на Unreal Engine 4 с нуля до Middle
    12 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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