美文网首页
iOS-如何确保2个异步请求完成?

iOS-如何确保2个异步请求完成?

作者: 骑毛驴的小强 | 来源:发表于2017-02-13 16:34 被阅读78次

对于网络请求都是异步进行的,个人项目中有个晒单评论的输求,有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) {
/**处理请求一与请求二的数据*/
}

相关文章

  • iOS-如何确保2个异步请求完成?

    对于网络请求都是异步进行的,个人项目中有个晒单评论的输求,有2个请求,最后需要用到2个请求的数据做一下处理 技术点...

  • iOS 多线程之dispatch_barrier及实现多读单写

    前言 当有个需求,A,B异步请求完成之后才能请求C,D。A,B,C,D都是异步请求。这个用dispatch_gro...

  • Antd Pro 与后端交互的几种场景(持更)

    Antd Pro如何处理异步请求? Antd Pro的异步请求用的是Dva,而Dva的异步又是在fetch的基础上...

  • vuex

    整个流程:首先确保是否有异步请求或者异步操作在整个vuex的流程中,如果有就在actions里面进行操作,在操作之...

  • 异步请求

    有a、b、c、d 4个异步请求,如何判断a、b、c、d都完成执行?如果需要a、b、c、d顺序执行,该如何实现? 对...

  • dataTables参数格式

    发送参数: draw——number类型——请求次数计数器,每次发送给服务器后原封返回,因为请求是异步的,为了确保...

  • 异步并发与继发

    通过for... of...实现异步继发请求:for... of...zhi只有等上一个异步请求完成之后才能开启下...

  • 异步Servlet 特性

    异步Servlet 本篇主要讲解 如何使用 异步Servlet的处理请求,并且演示 同步Servlet和异步Ser...

  • iOS 网络请求回调问题

    1、多个网络请求完成后通知继续执行 2、多个异步请求,顺序回调结果

  • iOS-同异步GET请求和POST请求

    四种请求理解 同步请求可以从网络上请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进...

网友评论

      本文标题:iOS-如何确保2个异步请求完成?

      本文链接:https://www.haomeiwen.com/subject/nsftwttx.html