其他分享
首页 > 其他分享> > 如何使用retofit2和RxAndroid取消请求

如何使用retofit2和RxAndroid取消请求

作者:互联网

我正在使用Retrofit 2.0和Rx-android来加载我的API.我在this site跟随RxJava与CallAdapter集成,它工作正常.但是,我不知道如何使用可观察对象取消加载请求.请帮忙给我一个主意.

解决方法:

取消RxJava Observable执行的唯一方法 – 取消订阅它. RxJavaCallAdapter将取消委托给okhttp客户端.

所以,你这么简单就像这样做:

Subscription subscription = getObservable().subscribe();

//When you want to stop execution
subscription.unsubsribe();

您可以查看代码here.具体来说,如果代码这些行

final Call<T> call = originalCall.clone();

// Attempt to cancel the call if it is still in-flight on unsubscription.
subscriber.add(Subscriptions.create(new Action0() {
  @Override public void call() {
    call.cancel();
  }
}));

标签:android,rx-java,rx-android,retrofit
来源: https://codeday.me/bug/20191007/1869421.html