我一次触发了四个 ASYNCHORONUS 方法,但我无法知道哪个方法超时。我想知道哪个方法超时。服务器会提供有关哪个方法超时的任何 ID。
问问题
509 次
1 回答
0
选项1
将所有连接存储在调用者中。在 didFailWithError: 方法中,您可以进行比较以找出哪个连接失败。
选项 2
使用关联的 NSURLRequest 来告诉连接做什么。
选项 3
使用不同的委托来区分一个连接和另一个连接。与上面相同,但将每个连接与单个 NSURLConnectionDelegate 实例相关联。
选项4
从 NSURLConnection 派生你自己的类。你可以在那里介绍 ID 或做其他花哨的事情 - 你可以控制。
例子。
您创建NSURLRequest
并存储它以供以后使用(选项 2)。然后,您使用请求和委托创建连接:
[NSURLConnection connectionWithRequest:delegate:]
如果您connection:didFailWithError:
在您的 then 中定义方法,NSURLConnectionDelegate
它将在超时时调用。
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
// The request has failed for some reason.
}
NSURLConnection 允许您获取原始请求:
connection. originalRequest
您收到请求并将其与以前保存的请求进行比较。
于 2013-09-29T06:53:39.927 回答