【问题标题】:Running AFNetworking 2 synchronously on a created background thread在创建的后台线程上同步运行 AFNetworking 2
【发布时间】:2014-03-16 16:00:23
【问题描述】:

我创建了一个后台线程来执行一系列 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 同步?

谢谢!

【问题讨论】:

    标签: ios afnetworking afnetworking-2


    【解决方案1】:

    在这种情况下,您应该自己生成 NSURLSessionDataTask。 AF 操作管理器将立即将操作加入队列(这正是它所做的)。如果您自己创建一个,您可以随时致电resume 或将操作添加到您自己的队列中。

    【讨论】:

    • 我不太明白……你说的简历是什么意思?你能给我一个代码示例吗?
    • 文档在这里 - developer.apple.com/library/ios/documentation/Foundation/… 。当您不仅有简单的数据任务,还有运行时间更长的上传或下载任务时,了解这些信息真的很方便。
    猜你喜欢
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多