AFNetworking - 队列请求

时间:2013-08-09 11:08:23

标签: ios afnetworking

我有疑问在其他成功块中调用请求是否正确?不应该准备任何并发症?因为有时我会收到失败的行动,我想知道可能是因为这个事实?

[[httpClient instance] getPath:@""
     parameters:@""
        success:^(AFHTTPRequestOperation *operation, id responseObject) {
             //Success code


            [[httpClient instance] getPath:@""
     parameters:@""}
        success:^(AFHTTPRequestOperation *operation, id responseObject) {
             //Success code
     } 
        failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             //Error code
     }];

     } 
        failure:^(AFHTTPRequestOperation *operation, NSError *error) {
             //Error code
     }];

2 个答案:

答案 0 :(得分:1)

在完成块中嵌套请求不仅很好,如果第二个请求依赖于第一个请求中的数据,这种情况很常见。

在取消异步URL请求时调用错误-999(NSURLErrorCancelled)。在代码中查看对[AFHTTPClient -cancelAllHTTPOperationsWithMethod:path:][AFURLConnectionOperation -cancel]的调用。

答案 1 :(得分:0)

我认为在第一个成功块中再次调用getPath:...不是导致错误的原因。无论如何,您可以编辑您的问题并添加有关该错误的更多信息吗?

另外,您应该考虑使用AFHTTPRequestOperation方法AFHTTPClient创建两个HTTPRequestOperationWithRequest:success:failure:,并使用NSOperation方法addDependency:将第二个依赖于第一个operationQueue方法,然后将这些操作添加到HTTP客户端{{1}}。