Swift-GCD

2020-04-16  本文已影响0人  男人宫
//DispatchTime.now() 获取当前时间
 DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
   //需要进行的操作
 }
 //开启一个全局的异步队列
 DispatchQueue.global().async {
    //耗时操作
    DispatchQueue.main.async {
      //进行UI刷新和用户交互
       }  
   }
       //创建调度器
        let workingGroup = DispatchGroup()
        //创建队列
        let workingQueue = DispatchQueue(label: "request_data")
        //第一个网络请求
        workingGroup.enter()
        workingQueue.async {
             //进行数据请求1
              workingGroup.leave()
            }
       //第二个网络请求
        workingGroup.enter()
        workingQueue.async {
             //进行数据请求2
              workingGroup.leave()
            }
    //请求完毕
      workingGroup.notify(queue: .main) {
            //进行UI的更新
        }
    PS:数据请求返回时是异步回调,用普通的请求你可以确保它的调用顺,但无法确保它的返回结果的回调顺序
上一篇 下一篇

猜你喜欢

热点阅读