我试图实现的是在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!)
}
}
}
}
我不希望处理此函数中的错误条件,而希望使用响应代码生成错误,并返回此错误以在调用此函数的任何位置处理它. 有人能告诉我怎么做吗?或者这不是处理这种情况的"快速"方式吗?