- (void)test
{
/*
先判断两个请求是否有依赖性,有的话就很简单了,在第一个请求回调后发送第二个请求。
如果两个请求没有依赖,但UI需要在两个请求完成后才能刷新,加个判断,如果两个请求完成就刷新。
如果都请求没有依赖性,界面也是分两部分展示请求下来的数据,那么请求完成一个就刷新界面一部分。
并不需要在上层直接调用GCD就能解决的问题。
*/
//这个是两个请求完成之后才刷新的
//http://125.35.11.32:8081/railway/index/indexjson
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
[manager POST:@"" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@",dict);
//处理数据
dispatch_group_leave(group);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];
dispatch_group_enter(group);
[manager POST:@"" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"%@",responseObject);
//处理数据
dispatch_group_leave(group);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@",error);
}];
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
//请求完成后的处理、
NSLog(@"完成");
});
}