我是 Rxjava 的新手,正在探索以下描述的场景中的可能性并需要帮助。
第 1 步:滑动 View
第 2 步:进行 API 调用以获取数据
针对View的数量重复上述步骤。
问题 :
我需要在 API_CALL_2 请求时取消 API_CALL_1 请求。
谢谢。
最佳答案
类(class)成员:
Subscription mSubscription;
您的 API 调用:
if(subscription != null && !subscription.isUnsubscribed()){
subscription.unsubscribe();
subscription = null;
}
subscription = doApiCall("some_id")
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<Object>() {
@Override
public void call(Object o) {
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
}
});
因此,它的主要思想是,您必须取消订阅之前的电话:
if(subscription != null && !subscription.isUnsubscribed()){
subscription.unsubscribe();
subscription = null;
}
开始新通话之前
关于Android RxJava 取消旧请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40582512/