首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AFNetworking + cancelAllRequests

AFNetworking + cancelAllRequests
EN

Stack Overflow用户
提问于 2012-03-06 20:30:23
回答 1查看 10.4K关注 0票数 15

当我想要停止使用AFNetworking构建的同步引擎中的所有当前请求时,我真的遇到了一个问题。

我有5个不同的网址查询。如果前一个查询执行正确,则会启动每个查询。

这个很好用。

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

代码语言:javascript
复制
- (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];
}

但是这段代码似乎什么也做不了。当我想取消时,在方法被调用后,我看到所有批处理操作都在我的日志中工作。

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

EN

回答 1

Stack Overflow用户

发布于 2012-03-07 06:09:42

您应该只需要执行[[[HTTPClient sharedClient] operationQueue] cancelAllOperations]。当操作被取消时,它们试图尽可能地完成执行,但不能保证这到底是如何发生的。对于批处理操作,当它被取消时,它可能已经完成了,因为它的所有依赖项请求操作都已经完成(通过被取消)。

票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9583743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档