gpt4 book ai didi

ios - 取消请求

转载 作者:IT王子 更新时间:2023-10-29 07:57:15 24 4
gpt4 key购买 nike

我正在发送一个基于计时器触发的请求。但是,如果我按下后退按钮,请求似乎仍然处于事件状态,而响应又使应用程序崩溃。请提出取消请求的方法。

使用 Xcode 8.2.1 swift 3

这是示例请求:

Alamofire.request(path!, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: createHeader()).responseJSON {
response in
switch response.result {
case .success(let data):
success(data as AnyObject?)
case .failure(let error) :
failure(error as NSError)
}
}

甚至尝试使 viewDidDisappear 上的计时器无效,但无济于事。

谢谢!!

最佳答案

Alamofire 4/Swift 3/Xcode 8

您可以取消单个请求,如下所示:

1 - 首先获取请求:

let request = Alamofire.SessionManager.default.request(path!, method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: createHeader()).responseJSON { response in
switch response.result {
case .success(let data):
success(data as AnyObject?)
case .failure(let error) :
failure(error as NSError)
}
}

2 - 然后,在您的 viewDidDisappear 中,只需调用:

request.cancel()


您可以取消所有请求,如下所示:

Alamofire.SessionManager.default.session.getTasksWithCompletionHandler { (sessionDataTask, uploadData, downloadData) in
sessionDataTask.forEach { $0.cancel() }
uploadData.forEach { $0.cancel() }
downloadData.forEach { $0.cancel() }
}

关于ios - 取消请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com