RxJava:对事件做出反应,或者等待其他事件执行,然后做出反应

时间:2019-05-23 13:04:25

标签: java android rx-java rx-android

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

0 个答案:

没有答案