Swift网络框架Alamofire超时时间设置以及取消网络请求设置

Alamofire的默认超时时间是30秒,我需要设定自己的超时时间

在自己的二次封装类里面设置一个全局manager

var sessionManager:Alamofire.SessionManager!

然后通过获取URLSessionConfiguration设置超时时间

let configuration = URLSessionConfiguration.default

configuration.timeoutIntervalForRequest = 10(超时时间)

sessionManager = Alamofire.SessionManager(configuration: configuration)

如果在上面一步直接let sessionManager = Alamofire.SessionManager(configuration: configuration)然后去利用sessionManager.request请求是不能使用的。


有些界面,我们在退出之后是不希望它还继续网络请求的,所以在退出的时候,我希望它能直接取消掉网络请求

sessionManager.session.getAllTasks { (tasks) in

tasks.forEach({ (task) in

task.cancel()

})

有时候你也可以指定特定的url进行取消操作

sessionManager.session.getAllTasks { (tasks) in

tasks.forEach({ (task) in

if task.currentRequest?.url?.lastPathComponent != urlstring

{

task.cancel()

}})}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容