此问题常见于因为超时或取消而导致连接被关闭,或者请求太大而无法传输所有数据。可以通过增加默认超时时间,重新尝试请求等方式来解决该问题。具体代码示例如下:
//设置默认请求超时时间为10秒 let config = URLSessionConfiguration.default config.timeoutIntervalForRequest = 10 let session = URLSession(configuration: config)
//重新尝试请求 for i in 1...3 { session.dataTask(with: request) { data, response, error in if let error = error { print("Error on attempt (i): (error)") } else { //Do something with data } }.resume() }