- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想按顺序执行一系列 AFJSONRequestOperation,并且能够在失败时中断队列。
目前我的做法并不靠谱,因为有时下一次手术会得到机会开始。
我有一个单例来调用我的 api 端点
AFJSONRequestOperation *lastOperation; // Used to add dependency
NSMutableArray *operations = [NSMutableArray array]; // Operations stack
AFAPIClient *httpClient = [AFAPIClient sharedClient];
[[httpClient operationQueue] setMaxConcurrentOperationCount:1]; // One by one
然后我以这种方式添加操作
NSMutableURLRequest *request = ...; // define request
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
// Takes care of success
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
[[httpClient operationQueue] setSuspended:YES];
[[httpClient operationQueue] cancelAllOperations];
}];
[push:operation addDependency:lastOperation];
[operations $push:operation]; // This is using ConciseKit
lastOperation = operation;
// Repeat with other operations
// Enqueue a batch of operations
[httpClient enqueueBatchOfHTTPRequestOperations:operations ...
问题是,有时失败的操作之后的操作仍有机会开始。
因此,似乎具有 1 个并发操作最大值和依赖链不足以告诉队列等待失败回调完全执行之后。
执行此操作的正确方法是什么?
谢谢
最佳答案
失败回调在主线程上执行,操作(在后台线程上运行)不会等待它。因此,您需要进行一些编辑以防止下一个操作在操作及其完成 block 完成之前开始。
或者,不是在开始时将所有操作放入队列,而是将操作列表保存在数组中,并在每次成功后添加下一个操作。
关于ios - AFJSONRequestOperation - 失败时中断操作队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17131718/
我想按顺序执行一系列 AFJSONRequestOperation,并且能够在失败时中断队列。 目前我的做法并不靠谱,因为有时下一次手术会得到机会开始。 我有一个单例来调用我的 api 端点 AFJS
使用 AFNetworking 的请求: NSOperationQueue *queue = [[NSOperationQueue alloc] init]; [queue setMaxC
我正在尝试从服务于 JSON 的 Web 服务获取一些数据。但是我不知道我的代码出了什么问题。它看起来很简单,但我无法获得任何数据。 这是代码: NSURLRequest *request = [NS
一整天都被困在这个问题上,并尽快寻求帮助来解决这个问题。任何帮助都会很棒。谢谢:-) 缺少的引号 从网络上得到这个 AFJSONRequestOperation 请求,它很好地解决了一个关键错误:某些
我无法确定管理应用程序 SQLite 数据库更新的最佳方式(使用 Core Data) 当我的应用程序启动时,它会访问服务器以确定哪些表需要更新。然后,我为每个表调用服务。一旦我为每个对象取回 JSO
我有一个 NSOperation,Authenticate,它通过服务器进行身份验证。 我有另一个操作,类型为 AFJSONRequestOperation 的 fetchImage,它依赖于 Aut
我使用 AFNetworking 将数据发送到删除 Web 服务,并使用以下 block : self.operation = [AFJSONRequestOperation JSONRequestO
我有以下运行良好的代码,但我需要对其进行更多控制,尤其需要在 0.9 中开始使用 Reachability 代码。 NSString *urlString = [NSString stringWith
我正在尝试使用 AFJSONRequestOperation 从 JSON 提要中提取少量数据。 以下代码可以很好地提取 url,并且在打印 stringURL 时,它会打印出正确的 url。但是,我
我正在修复现有项目中的错误。问题是 AFHTTPClient 期望有效的 JSON 响应,但服务器返回一些乱码,如“”\”操作完成\””(所有引号和括号都在返回中)。这导致操作失败,并命中失败 blo
我已经实现了 AFNetworking 框架,但是我试图找出一种在单独的类中使用 AFJSONRequestOperation 函数并从我的个人 View Controller 调用它的方法。 我所做
我刚开始在 iOS 中使用 block ,我认为这可能是我问题的症结所在。 我只想构建一个简单的静态 DataManager 类,它的唯一工作就是从我的 Restful 服务中获取数据。 我会从我所有
我正在使用 AFNetworking 将 json 数据发布到我的网络服务并获得 json 响应。但是现在我还想向这些 POST 添加多部分表单数据。如果我这样做(即使没有我首先添加的参数),完成 b
我正在尝试使用 AFNetworking 和 AFJSONRequestOperation 发送授权 header 。如果我在 setAuthorizationHeaderWithToken 之后 N
将json数据发送到服务器并希望使用AFNetworking从服务器获取正确的response.statusCode 服务器: // Helper method to send a HTTP resp
我正在使用 AFNetworking 库检索 JSON 数据,并想添加一个完成 block ,如下所示: -(void)getData{ NSString *link=@"http://loc
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"http://twitter.c
The following code is taken from this tutorial 我以前使用过这个片段,但我以前从未注意到这个问题。数组内容的 NSLog 在委托(delegate)方法中
我一直试图在将请求分派(dispatch)到需要 OAuth 身份验证的基于 REST 的服务的特定实例中掌握 AFHTTPClient。使用 GTMOAuth 创建 OAuth 身份验证没有问题。
我在第 6 行的这段代码中收到上述警告,并且 userInfo 在该 block 中也变为 nil。请提出一些建议来消除此警告和 userInfo 问题。 AFHTTPClient *httpClie
我是一名优秀的程序员,十分优秀!