我试图实现的是在 Swift 3中执行 URLSession
请求。我将在一个单独的函数中执行这个操作(以避免为 GET 和 POST 分别编写代码) ,并返回 URLSessionDataTask
并处理闭包中的成功和失败。就像这样
let task = URLSession.shared.dataTask(with: request) { (data, uRLResponse, responseError) in
DispatchQueue.main.async {
var httpResponse = uRLResponse as! HTTPURLResponse
if responseError != nil && httpResponse.statusCode == 200{
successHandler(data!)
}else{
if(responseError == nil){
//Trying to achieve something like below 2 lines
//Following line throws an error soo its not possible
//var errorTemp = Error(domain:"", code:httpResponse.statusCode, userInfo:nil)
//failureHandler(errorTemp)
}else{
failureHandler(responseError!)
}
}
}
}
我不希望处理这个函数中的错误条件,希望使用响应代码生成一个错误,并返回这个 Error 来处理从哪里调用这个函数。 有人能告诉我怎么做吗?或者这不是处理这种情况的“迅速”方式吗?