当我将回调函数与 URLSession 一起使用时,我可以使用 URLSessionDataTask 来取消任务
let task = URLSession.shared.dataTask(with: URLRequest(url: URL(string: "")!)) { data, response, error in
// handle response
}
task.cancel()
当我在 URLSession 中使用 async func 时,没有任何取消方法,如何在它完成之前取消它
try await URLSession.shared.datafrom(from: URL(string: "")!)
我找不到 URLSession 异步函数的取消方法,我可以像这样在任务完成后检查任务取消
try await URLSession.shared.data(from: URL(string: ""))
try Task.checkCancellation()
如何在完成之前取消 URLSessionTask
您可以取消整个操作
let task = Task {
try await URLSession.shared.data(from: URL(string: ""))
}
task.cancel()
URLSessionDataTask此时应该取消