android - 如何制作 AsyncTask等待 30 秒?
问题描述
我尝试使用异步进行 api 调用,有时请求需要超过 10 秒,有没有办法让请求等待 30 秒
new Act().execute(val, val2, "");
public class Act extends AsyncTask<String, String, String> {
protected String doInBackground( String... params ) {
return "";
}
@Override
protected void onPostExecute( String pResult ) {
}
}
解决方案
Retrofit
&OkHttp
是解决这个问题的更有针对性的方法。您可以创建一个客户端,OkHttp
并为其分配超时。这是一个示例如何在 Retrofit 库中设置超时?
在同一个示例中,您可以找到一个基本Retrofit
示例。
AsyncTask
只是让事情远离UIThread
就是这样。它的生命周期取决于你的实现 => 的内容Act
,而不是AsyncTask
它的自身。
推荐阅读
- json - 将 json 文件导入 Angular 4.x TypeScript 应用程序
- bash - 期望脚本在单独调用时起作用,但不是作为盐状态
- mysql - 如何将文本插入 mysql SELECT 语句并以句子形式显示输出?
- node.js - ParallelSaveError:无法并行保存()同一个文档
- c# - 更改 ASP.NET Core Razor 页面中的默认路由
- python - 使用 python 写入服务器上的文件
- amazon-web-services - AWS EC-2 更改时间和 403 禁止错误
- jmeter - 如何让 jmeter 在重复之前运行所有线程组?
- algorithm - 安排以不同的速率向消费者发送消息
- python - Django Admin 模板覆盖