RxJava: реагировать на событие или ждать, если другое событие выполнено, а затем реагировать - PullRequest
1 голос
/ 23 мая 2019

Я пытаюсь применить RxJava к своему приложению для Android.Проблема заключается в реакции на события, в то время как предыдущее событие все еще выполняется.

Я застрял с использованием BehaviorSubject на моем фрагменте.Я создаю поле в своем классе:

private BehaviorSubject<EventObject> behaviorSubject;

В onCreate() метод, который я назначаю behaviorSubject:

behaviorSubject
    .observeOn(AndroidSchedulers.mainThread())
    .subscribeOn(Schedulers.io())
    .subscribe(eventObject -> {
         move(eventObject );
    }, t -> ToastErrorHandler.handle(getContext(), t));

Давайте рассмотрим сценарий:

  1. Событие наступило, поэтому я вызываю:

        behaviorSubject.onNext(eventObject);
    
  2. Я бы хотел вызвать метод move(eventObject);.

Методmove(eventObject) выполнить ровно 2 секунды.За это время может наступить другое событие.Я хотел бы, чтобы второе событие подождало, пока первое событие не выполнится полностью.

Как обработать вышеуказанный сценарий в RxJava?

...