如何同时发送一些POST / GET请求?

时间:2016-04-01 08:55:41

标签: xcode swift macos httprequest

我学习迅速,试图不是一个接一个地发送2个以上的请求,而是同时发送。是否可以使用NSURLSession?

1 个答案:

答案 0 :(得分:0)

NSURLSession是异步的,这意味着它是在不同的线程上发送的,可以一次运行多个。

此链接解释并给出了如何在主线程上处理响应等的示例:

https://www.raywenderlich.com/110458/nsurlsession-tutorial-getting-started

func sendRequest() {
    let defaultSession = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
    var dataTask: NSURLSessionDataTask?
    let url = NSURL(string: "http://www.url.com")

    dataTask = defaultSession.dataTaskWithURL(url!) {
      data, response, error in
      dispatch_async(dispatch_get_main_queue()) {
          //Handle response
          if let error = error {
              //Error - handle 'error'              
              print(error.localizedDescription)
          } else if let httpResponse = response as? NSHTTPURLResponse {
              if httpResponse.statusCode == 200 {
                  //Success - handle 'data'
              }
          }
      }
    }

    dataTask?.resume()
}

希望这有帮助