0

我有疑问在其他成功块内调用请求是否正确?不应该准备什么并发症吗?因为有时我会收到失败的操作,我想知道这可能是由于这个事实吗?

[[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
     }];
4

2 回答 2

1

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

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

于 2013-08-09T16:30:20.160 回答
0

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

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

于 2013-08-09T12:01:43.317 回答