android - Retrofit & OkHttp - 是否可以一次只发送一个请求?
问题描述
我正在使用 Retrofit 2.4.0 向服务器发送请求。但有时服务器会阻止我的请求,如果它与另一个请求具有类似的时间戳(以毫秒为单位)。我需要一次发送一个请求:
- 发送请求 A
- 请求 B 等待,直到收到请求 A 的响应
- 请求 A 以成功或错误完成
- 发送请求 B
是否可以使用 Retrofit 和 OkHttp 库创建这样的队列?
解决方案
我决定使用 Dispatcher 的 setMaxRequests 方法一次发送一个请求:
Dispatcher dispatcher = new Dispatcher();
dispatcher.setMaxRequests(1);
OkHttpClient client = new OkHttpClient.Builder()
.dispatcher(dispatcher)
.build()
推荐阅读
- html - 无法在 html 中加载字体真棒图标
- python - 抓取使用 Javascript 加载的分页数据
- javascript - 为什么该方法将 padEnd 返回为未定义?
- python - 当使用 Python 将 URL 作为请求发送到服务器时如何知道请求 cookie
- java - 如何自动关闭自定义对话框
- android - Android中的数据绑定
- python - 未检测到 Django-admin - windows
- javascript - Safari 失去了画布的上下文
- python - Python - 查找字符串中给定位置的字符
- javascript - 数组中的数据不完整