AFNetworking + cancelAllRequests

ale*_*our 15 afnetworking

当我想在使用AFNetworking构建的同步引擎中停止所有当前请求时,我确实遇到了问题.

我有5个不同的URL来查询.如果前一个查询正确执行,则每个查询都会启动

这非常有效.

我想随时停止同步过程.所以我的代码是:

- (void)cancelAllRequests
{
  NSLog(@"CancelAllRequests");

  [[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull"];
  [[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_items"];
  [[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"GET" path:@"ws/webapp/services/pull_image"];
  [[HTTPClient sharedClient] cancelAllHTTPOperationsWithMethod:@"POST" path:@"ws/webapp/services/push_item"];  
  [[[HTTPClient sharedClient] operationQueue] cancelAllOperations];
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码似乎无能为力.当我想取消时,我在调用方法后看到所有批处理操作在我的日志中工作.

我错过了什么 ?如果我取消请求,这不会停止使用此请求构建的所有活动操作吗?

mat*_*ttt 26

你应该只需要做[[[HTTPClient sharedClient] operationQueue] cancelAllOperations].取消时的操作尝试尽可能完成执行,但无法确切知道这是如何发生的.在批处理操作的情况下,它可能已经被取消,因为它的所有依赖请求操作已经完成(通过被取消).