我创建了一个后台线程来执行一系列AFNetworking请求,我希望它们按顺序排列。一些代码:
dispatch_queue_t request_queue = dispatch_queue_create("someLabel", NULL);
dispatch_async(request_queue, ^{
dispatch_semaphore_wait(self.mySemaphore, DISPATCH_TIME_FOREVER);
// AFnetworking request I want to be synchronous
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"foo": @"bar"};
[manager POST:@"http://example.com/resources.json" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
...
如何使AFHTTPRequest同步?
谢谢!
答案 0 :(得分:0)
在这种情况下,您应该自己生成NSURLSessionDataTask。 AF操作管理器会立即将操作排入队列(这正是它的作用)。如果您自己创建一个,可以随时拨打resume
,或者根据需要将操作添加到您自己的队列中。