AFJSONRequestOperation 响应延迟
Posted
技术标签:
【中文标题】AFJSONRequestOperation 响应延迟【英文标题】:AFJSONRequestOperation delay in response 【发布时间】:2012-04-03 08:45:58 【问题描述】:AFNetworking 的请求:
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue setMaxConcurrentOperationCount:1];
[queue addOperation:request1];
[queue addOperation:request2];
request1 在调用它后立即得到响应。 但是第二个 request2 在调用它后收到延迟 14 或 16 秒的响应。
服务器日志显示 request2 与客户端时间相比延迟了 14-16 秒。它立即响应。所以服务器应该是正确的。
可能是什么?
【问题讨论】:
使用 wireshark 或 charlesproxy 捕捉正在发生的事情,这可能会提供线索。 【参考方案1】:您将maxConcurrentOperationCount
设置为 1 有效地使您的队列串行。这意味着任何时候只运行一个操作。
第一个操作(request1)可能需要 14-16 秒。
如果你想同时运行两个请求,增加maxConcurrentOperationCount
【讨论】:
它没有帮助。请求应按顺序执行。第一反应以毫秒为单位。 @phantom.dnepr 如果您需要顺序运行请求,您应该使用NSOperation
依赖项,或者在第一个完成块中创建第二个操作。无论哪种方式,都需要更多信息来了解正在发生的事情,以便为您提供帮助。描述请求是什么,响应的日志,诸如此类。以上是关于AFJSONRequestOperation 响应延迟的主要内容,如果未能解决你的问题,请参考以下文章
如何在AFJSONRequestOperation的回调中从NSHTTPURLResponse中获取响应数据?
在 AFJSONRequestOperation 中接受无效的 JSON?
如何从 AFNetworking 和 AFJSONRequestOperation 获得可变字典?