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(@"请求完成");
//在此处进行刷新界面,回到主线程设置数据
});