机器人,如何取消retrofit2 / rxjava-的Android当前的请求

问题描述 投票:0回答:1

我在改装/ rxjava-机器人是新

有人告诉我说,这是最好的做法,如果如果呼叫尚未完成,并在用户离开活动页面,我将取消该请求。

我有问题,哪里/如何取消它。

这里是我的代码,它工作正常。

Observable<List<MyObject>> call;
public void getStaticMessages() {
    call = restInterface.loginURL();
    call.subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<List<MyObject>>() {
        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {
            Log.d("LOGGER", "error");
        }

        @Override
        public void onNext(List<MyObject> myObjects) {
            Log.d("LOGGER", "succcess");
        }
    });

}
android rx-java retrofit2 rx-android
1个回答
1
投票

一个最好的做法是创建订阅/一次性活动时/片段的onStart()方法被调用和退订/处置时onStop调用。

您可以创建一个一次性Disposable disposable = call.subscribeOn并通过disposable.dispose()或使用CompositeDisposable处置它。

我用CompositeDisposable同样的方法在我以前的宠物项目之一 - link

© www.soinside.com 2019 - 2024. All rights reserved.