对于网络请求都是异步进行的,个人项目中有个晒单评论的输求,有2个请求,最后需要用到2个请求的数据做一下处理
技术点:由于网络请求都是异步进行的,所以不能确保请求一与请求二的先后顺序
知识小集:这里利用的是dispatchGroup确保异步请求的先后顺序(切记failure也需要加上离开组
OC版
// 1 创建一个队列组
dispatch_group_t group = dispatch_group_create();
// 2.1 进入组
dispatch_group_enter(group);
/**存放异步请求一*/
// 2.2 离开组 (放在回调里面)
dispatch_group_leave(group);
// 3.1 进入组
dispatch_group_enter(group);
/**存放异步请求二*/
// 3.2 离开组 (放在回调里面)
dispatch_group_leave(group);
// 3 所有请求完成会执行下面的block
dispatch_group_notify(dispatchGroup, dispatch_get_main_queue(),^{
/**处理请求一与请求二的数据*/
});
swift版
// 1 创建队列组
let group = DispatchGroup()
// 2.1 进入组
group.enter()
/**存放异步请求一*/
// 2.2 离开组(放在回调里面)
group.leave()
// 2.1 进入组
group.enter()
/**存放异步请求二*/
// 2.2 离开组(放在回调里面)
group.leave()
// 3 所有请求完成会执行下面的block
group.notify(queue: DispatchQueue.main) {
/**处理请求一与请求二的数据*/
}
网友评论