Вы можете обновить это, проверить возвращаемое значение true / false и затем использовать возвращаемое значение
public func requestGenericData<T: Decodable>(urlString: String, httpMethod: String, token: String,completion:@escaping(_ result:T?,_ success:Bool)-> Void) {
let fullStringUrl: String = self.url + urlString
let urlReq = URL(string: fullStringUrl)
var urlRequest = URLRequest(url: urlReq!)
urlRequest.setValue("application/json", forHTTPHeaderField: "accept")
urlRequest.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
urlRequest.httpMethod = httpMethod
URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in
if self.isInternetAvailable() {
guard let data = data else { return }
if let httpResponse = response as? HTTPURLResponse {
if httpResponse.statusCode >= 200 && httpResponse.statusCode < 300 {
do {
let parsedObj = try JSONDecoder().decode(T.self, from: data)
completion(parsedObj,true)
} catch {
print("Error: \(String(describing: error))\n StatusCode: \(httpResponse.statusCode)")
completion(nil,false)
}
}
}
} else {
showAlert(title: "No Internet Connect", message: "Please open your network and try again.", alertStyle: .alert, buttonTitle: "OK", buttonStyle: .default)
completion(nil,false)
}
}.resume()
}
//
назовите это
requestGenericData(urlString:<#url#>,httpMethod:<#httpMethod#>,token:<#token#>) { (result,success) in
if success {
}
}