美文网首页iOS-swiftiOS第三方SDKios专题
Swift网络框架Alamofire超时时间设置以及取消网络请求

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

作者: 系统盘 | 来源:发表于2017-05-10 16:37 被阅读767次

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()

}})}

相关文章

网友评论

    本文标题:Swift网络框架Alamofire超时时间设置以及取消网络请求

    本文链接:https://www.haomeiwen.com/subject/sesgtxtx.html