【发布时间】:2021-03-25 15:46:05
【问题描述】:
我有一个应用程序向 API 发出大量初始 Alamofire GET 请求以最终收集数据。然而,应用程序屏幕上有一些按钮也会触发 POST 请求以保存等。虽然当我点击按钮时,alamofire 请求需要很长时间才能触发,因为所有其他 GET 请求仍在运行。
是否有可能使我可以将 POST 请求推送到队列前面?
【问题讨论】:
标签: ios swift networking alamofire
我有一个应用程序向 API 发出大量初始 Alamofire GET 请求以最终收集数据。然而,应用程序屏幕上有一些按钮也会触发 POST 请求以保存等。虽然当我点击按钮时,alamofire 请求需要很长时间才能触发,因为所有其他 GET 请求仍在运行。
是否有可能使我可以将 POST 请求推送到队列前面?
【问题讨论】:
标签: ios swift networking alamofire
使用 Alamofire 或底层 URLSession API 无法做到这一点。您想要做的是构建自己的请求队列,让您随时保持可能有六个请求在运行中。您可以将所有GETs 排入队列,然后在需要时将POSTs 推到行前。
【讨论】:
OperationQueues 和DispatchQueues 没有能力在其他工作之前注入工作。最简单的队列只是一个有开始和结束的数据结构。您真正需要的只是能够将某些内容放在队列的开头,以使其具有比已入队的项目更高的优先级。