我尝试将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中处理上述情况?