iOS 一个界面多个网络请求

1.当多个网络请求没有相互依赖的关系,可以直接分别调用接口。

2.当多个网络请求有相互依赖的关系(要求先后执行的顺序),采用dispatch _group + 信号量

dispatch_group_t dispatchGroup = dispatch_group_create();

dispatch_queue_t queue = dispatch_queue_create("queue", NULL);

dispatch_group_enter(dispatchGroup);

dispatch_async(queue, ^{

[BaseHttpManager sendPOSTWithUrl:URL parameters:requestDict success:^(id resultDic){

//第一个请求完成

dispatch_group_leave(dispatchGroup);

}fail:^(NSError *error){

}];

});

dispatch_async(queue, ^{

[BaseHttpManager sendPOSTWithUrl:URL parameters:requestDict success:^(id resultDic){

//第二个请求完成

dispatch_group_leave(dispatchGroup);

}fail:^(NSError *error){

}];

});

dispatch_group_notify(dispatchGroup, queue(), ^(){

NSLog(@"请求完成");

//在此处进行刷新界面,回到主线程设置数据

});

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容