gpt4 book ai didi

android - 如何使用 retofit2 和 RxAndroid 取消请求

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:13:21 25 4
gpt4 key购买 nike

我正在使用 Retrofit 2.0 和 Rx-android 加载我的 API。我关注 RxJava 与 CallAdapter 的集成 部分 this site它工作正常。但是,我不知道如何使用可观察对象取消加载请求。请帮忙出出主意。

最佳答案

取消 RxJava Observable 执行的唯一方法——取消订阅。 RxJavaCallAdapter 会将 cancel 委托(delegate)给 okhttp 客户端。

所以,你可以像这样简单地做 smth:

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 - 如何使用 retofit2 和 RxAndroid 取消请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34199769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com