如何并行执行多个回调方法 [英] How to perform Multiple callback methods parallely

查看:194
本文介绍了如何并行执行多个回调方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在集成Web服务时正在使用回调方法。任何人都可以建议,如何并行使用多个回调方法,

I am using callback methods while integrating web services. Any one can suggest, how can I use multiple callback methods parallely,

我知道我们可以通过创建

I know we can do integrate multiple web service by creating

dispatch_group_t group = dispatch_group_create();

//block 1
dispatch_group_async(group, dispatch_get_global_queue(0, 0), ^{
    [self getUserProfiles];
});

//block 2
dispatch_group_notify(group, dispatch_get_global_queue(0, 0), ^{
    // block 2 will get notify, after block 1 complete his task.
}

但是如何使用回调执行以上操作?
有任何建议可以

But how can perform the above, using callback? Any suggestion will be appreciated.

推荐答案

您可以尝试为自己的目标封锁

You can try block for your goal

创建返回块的方法

-(void)getResponseWithUrl:(NSString *)url AndWithPararameter:(NSDictionary *)parameter WithCallback:(void(^)(BOOL success, id responseObject))callback{
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer = [AFJSONResponseSerializer serializer];
    [manager GET:[NSString stringWithFormat:@"%@%@",BASEURL,url] parameters:parameter progress:nil success:^(NSURLSessionTask *task, id responseObject) {
        NSLog(@"%@",responseObject);
        callback(YES,responseObject);
    } failure:^(NSURLSessionTask *operation, NSError *error) {
        callback(NO,nil);
      }];
}

以此方式调用

[self getResponseWithUrl:@"URL" AndWithPararameter:@{@"parameters":@""} WithCallback:^(BOOL success, id responseObject) {

}]; 

这篇关于如何并行执行多个回调方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆