我在改装/ 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");
}
});
}
一个最好的做法是创建订阅/一次性活动时/片段的onStart()
方法被调用和退订/处置时onStop
调用。
您可以创建一个一次性Disposable disposable = call.subscribeOn
并通过disposable.dispose()
或使用CompositeDisposable处置它。
我用CompositeDisposable同样的方法在我以前的宠物项目之一 - link