Alamofire 从多个请求中取消一个请求

Posted

技术标签:

【中文标题】Alamofire 从多个请求中取消一个请求【英文标题】:Alamofire cancel a request out of multiple requests 【发布时间】:2016-03-12 17:23:44 【问题描述】:

我正在使用 Alamofire 一次通过单独的请求将多个文件上传到我的服务器,文件名与进度条一起显示在 tableView 中。当用户在上传文件时尝试删除文件时,应删除 tableView 单元格并取消请求。

我知道以下代码将用于取消 Alamofire 请求:

var request: Alamofire.Request?
self.request?.cancel()

所以,我尝试制作一个类似 Alamofire.Request 的数组

var requests = [Alamofire.Request]()

然后根据索引取消请求。

但这似乎不是正确的方法,因为它不起作用,有什么建议吗?

谢谢。

【问题讨论】:

【参考方案1】:

根据documentation取消会:

取消底层任务,产生一个错误并传递给任何注册的响应处理程序。

因此,为您的请求添加响应处理程序并查看是否将错误消息传递给它们。如果是,则说明取消操作正确。

【讨论】:

我想我的问题并不清楚。我能够为单个请求成功实现 cancel()。我需要的是,如何为多个同时请求实现 cancel()? 简单地循环请求数组并从循环内部创建一个取消处理程序。

以上是关于Alamofire 从多个请求中取消一个请求的主要内容,如果未能解决你的问题,请参考以下文章

如何在响应闭包中访问 Alamofire 请求参数?

在 swift 中使用 Alamofire 取消 api 请求

Alamofire 多个请求

在完成之前中止 Alamofire 下载请求

从后台获取调用时,Alamofire 不工作

取消对 Alamofire 图像的请求