NSOperationQueue如何等待两个异步操作?

合并排序

如何使NSOperationQueue(或其他任何东西)等待带有回调的两个异步网络调用?流程需要看起来像这样

Block Begins {
    Network call with call back/block begins {
        first network call is done 
    }
}
Second Block Begins {
    Network call with call back/block begins {
        second network call is done 
    }
} 

Only run this block once the NETWORK CALLS are done {
    blah
}

到目前为止,这就是我所拥有的。

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
__block NSString *var;


[queue addOperation:[NSBlockOperation blockOperationWithBlock:^{
   [AsyncReq get:^{
       code
    } onError:^(NSError *error) {
       code
    }];
}]];

[queue addOperation:[NSBlockOperation blockOperationWithBlock:^{
   [AsyncReq get:^{
       code
    } onError:^(NSError *error) {
       code
    }];
}]];
[queue waitUntilAllOperationsAreFinished];
//do something with both of the responses
洛根

你要用NSOperation Queue吗?这是通过调度组实现的方法:

dispatch_group_t group = dispatch_group_create();

dispatch_group_enter(group);
[AsyncReq get:^{
    code
    dispatch_group_leave(group); 
} onError:^(NSError *error) {
    code
    dispatch_group_leave(group);
}];


dispatch_group_enter(group);
[AsyncReq get:^{
    code
    dispatch_group_leave(group); 
} onError:^(NSError *error) {
    code
    dispatch_group_leave(group);
}];

dispatch_group_notify(group, dispatch_get_main_queue(), ^{
    NSLog(@"Both operations completed!")
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何等待两个pthread?

来自分类Dev

如何等待两个代码块在R Shiny中运行

来自分类Dev

如何等待两个承诺的结果,然后做一些事情?

来自分类Dev

等待两个异步方法完成

来自分类Dev

如何等待异步委托

来自分类Dev

如何等待异步委托

来自分类Dev

赛普拉斯-如何等待两个元素中的第二个出现?

来自分类Dev

如何等待异步函数nodejs的结果

来自分类Dev

PrivateRoute-如何等待异步响应?

来自分类Dev

如何等待重写异步功能?

来自分类Dev

如何等待异步完成 - NodeJs

来自分类Dev

如何等待运行异步方法的任务

来自分类Dev

Reactive Extensions Observerable.FromAsync:如何等待异步操作完成

来自分类Dev

如何等待通过QNetworkAccessManager完成两次异步下载?

来自分类Dev

这两个函数如何等价?

来自分类Dev

如何异步查询两个IAsyncEnumerables

来自分类Dev

如何使用Swift在iOS上使用异步操作同步运行两个函数

来自分类Dev

如何仅在执行某些操作后异步下载两个图像

来自分类Dev

多个未连接的异步事件如何等待一个诺言

来自分类Dev

我如何等待这些承诺中的每一个异步执行?

来自分类Dev

等待组件 ngrx 存储中的两个操作

来自分类Dev

等待两个订阅结束进行操作

来自分类Dev

在执行下一个操作之前,如何等待请求完成(Xcode 11)

来自分类Dev

如何等待进行异步调用的.each循环?

来自分类Dev

如何等待NSTask在异步块中完成

来自分类Dev

我如何等待F#中的异步方法

来自分类Dev

如何等待异步计时器回调

来自分类Dev

如何等待所有异步完成?

来自分类Dev

如何等待并正确从异步协程返回值