我不确定URLRequest不成功时如何重新提交。
我有一个调用多个API的函数。对于其中一个API请求,大约有一半的时间在第一次尝试中均失败,因此我必须再次按我的应用程序上的按钮,以使其再次运行该功能,直到通过为止。我已经将我的代码跟踪到被捕获的确切位置,但是不确定如何处理它以继续尝试请求直到成功。下面是我的代码。
let request = URLRequest(url: URL(string: urlNew)!)
let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: {data, response, error -> Void in
// other logic happens here
})
大多数情况下,它通过得很好,并且一切正常。在不成功的情况下,如何使它继续尝试请求?它可以很好地解决“让任务...”的问题,但这就是它被追上的地方。供参考:
urlNew = "MyAPI String value is here"
答案 0 :(得分:0)
请求失败时,您可以递归调用函数
func callAPI(urlNew:String) {
let request = URLRequest(url: URL(string: urlNew)!)
let session = URLSession.shared
let task = session.dataTask(with: request, completionHandler: {data, response, error -> Void in
// other logic happens here
guard let data = data, error == nil else {
self.callAPI(urlNew:urlNew)
return
}
})
task.resume()
}