Я пытаюсь применить 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));
Давайте рассмотрим сценарий:
Событие наступило, поэтому я вызываю:
behaviorSubject.onNext(eventObject);
Я бы хотел вызвать метод move(eventObject);
.
Методmove(eventObject)
выполнить ровно 2 секунды.За это время может наступить другое событие.Я хотел бы, чтобы второе событие подождало, пока первое событие не выполнится полностью.
Как обработать вышеуказанный сценарий в RxJava?