热门跟踪RxAndroid的进展?

时间:2015-09-12 10:37:29

标签: java rx-java rx-android

我的项目是Retrofit库和RxAndroid。

例如,我从我的api中调用了一些方法

public void loadSomething() {
   getApi().getSomething()                
      .subscribeOn(Schedulers.io())
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(new Subscriber<Something>() {
                    @Override
                    public void onCompleted() {

                    }
                    @Override
                    public void onError(Throwable e) {

                    }
                    @Override
                    public void onNext(Something s) {

                    }
                });
}

我应该如何跟踪此观察点的进度,例如阻止用户第二次启动它? 应该在开始设置inProgress = true;之前添加我的自定义标志,并在所有回调方法中设置inProgress = false;

我可以使用RxAndroid功能吗?或者它是否保证对api的一次调用不会并行启动几次?

1 个答案:

答案 0 :(得分:1)

您可以使用Do operator

您可以设置inPogress = true中的doOnSubscribe()inProgress = false中的doOnComplete()

同时致电subscribe会返回Subscription。您可以使用它来检查呼叫是否已使用isUnsubscribed()完成。