Я пытаюсь выполнить 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(...)
)