Я намагаюся швидко виконати URLSession
запит 3. Я виконую цю дію в окремій функції (щоб не писати код окремо для 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!)
}
}
}
}
Я не хочу обробляти умови помилки в цій функції, і хочу генерувати помилку, використовуючи код відповіді, і повертати цю помилку, щоб обробляти її всюди, звідки ця функція викликана. Хто-небудь може сказати мені, як це робити? Або це не «швидкий» спосіб вирішення таких ситуацій?
NSError
замістьError
у декларації (var errorTemp = NSError(...)
)