【发布时间】:2016-08-27 22:44:30
【问题描述】:
在以下情况下我需要打相同的endpoint:
- 当一个视图重新出现在屏幕上时
viewWillAppear。 - 在视图控制器的生命周期内每 5 秒(在呈现视图时)。
- 应用从
background返回到foreground后。
当我的应用返回到foreground 时,这会创建至少 2 个(如果不是 3 个)concurrent 请求到同一个 endpoint,尤其是在互联网连接速度较慢的情况下。
我知道我可以将Queue 中的concurrent 请求数限制为1,但有时我确实需要访问几个不同的endpoints concurrently,所以我希望找到一个替代方案。
我正在使用NSURLSession 和NSOperationsQueue 进行这些调用。是否有使用NSOperationsQueue 处理此问题的最佳做法?
【问题讨论】:
-
您可以编写一个流量控制器类来管理队列。如果 URL 操作处于挂起状态或在过去 5 秒内完成,则忽略新的插入请求。
标签: ios swift nsurlsession nsoperation nsoperationqueue