当前位置: 首页 > 知识库问答 >
问题:

通过改装取消所有请求2

呼延烈
2023-03-14

我使用youtube API制作了一个应用程序。首先,我使用< code > retrieve 加载视频列表,然后我继续使用< code > retrieve 加载列表中视频的所有信息。

由于<code>列表视图<code>支持刷新和加载更多,我需要<code>取消<code>所有调用请求。

我知道调用了<code>cancel()cancel()。

还有更好的解决方案吗?

共有1个答案

傅安宁
2023-03-14

假设我有

 HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY);

 OkHttpClient.Builder httpClient = new OkHttpClient.Builder();

 OkHttpClient client = httpClient.addInterceptor(interceptor).build();

 Retrofit.Builder builder =
        new Retrofit.Builder()
                .baseUrl("MY URL")
                .client(new OkHttpClient.Builder().addInterceptor(interceptor).build())
                .addConverterFactory(GsonConverterFactory.create());

 OkHttpClient.Builder httpClient = new OkHttpClient.Builder();

现在使用Dispatcher创建服务并设置为Retrofit

 Dispatcher dispatcher=new Dispatcher();
 dispatcher.setMaxRequests(totalRequest);
 httpClient.dispatcher(dispatcher);

 Retrofit retrofit = builder.client(client).build();
 Service servicee = retrofit.create(serviceClass)

随便从哪里打电话

dispatcher.cancelAll();
 类似资料:
  • 问题内容: 我在将OkHttp 2.7.0与Retrofit 2-beta2结合使用。 为了从Retrofit 获取对象,我正在使用Retrofit .client() 方法并取消所有正在运行的请求,我将其称为cancel(Object tag) 方法,但是请求仍然保持运行,并且得到响应。 即使客户的getQueuedCallCount()和getRunningCallCount()返回0调用ca

  • 我使用改造2-beta2与OkHttp 2.7.0。 为了从改造中获取对象,我正在使用改造.client()方法并取消所有正在运行的请求,我正在调用它的unund(Object tag)方法,但请求仍然保持运行,我得到一个响应。 甚至客户端的< code>Dispatcher的getQueuedCallCount()和getRunningCallCount()在调用cancel()后返回0。 我还

  • 目前,我正在使用mrecestQueue.cancelAll(getActive())在一个片段中的on Stop方法,但显然,当我将手机从横向移动到纵向时,它仍然返回请求中的数据,但会导致崩溃,因为持有人数据泄露已经存在了。有什么如何正确处理的示例代码吗?

  • 问题内容: 我正在制作网络爬虫。我将网址传递给搜寻器函数,并对其进行解析以获取锚标记中的所有链接,然后为所有这些网址使用相同的搜寻器函数,并对每个网址使用单独的goroutine。 但是,如果在我收到响应之前发送请求并取消它,则该特定请求的所有程序仍在运行。 现在我想要的是,当我取消请求时,由于该请求而被调用的所有goroutine都会停止。 请指导。 以下是我的 搜寻器 功能代码。 以下是我的P

  • 问题内容: 如何通过index.php重新路由所有对php页面的请求? 我的.htaccess如下: 基本上,我试图模仿.NET母版页。index.php具有站点页眉/页脚。 它将404重定向到index.php。我如何使其将所有请求重定向到php页面(index.php本身除外)? 此方法是否存在任何性能问题(不想使用框架)? 问题答案: 这是我使用的(并且已经使用了很长时间): 正如评论所建议

  • 如何取消/中止angular 4中所有挂起的HTTP请求。 有一个取消HTTP请求的方法,但是如何一次取消所有挂起的请求。 尤其是在改变路线的时候。 我做了一件事 但是如何在全球范围内实现这一点 有什么想法吗?