zoukankan      html  css  js  c++  java
  • [Swift]Alamofire:设置网络请求超时时间【timeout】的两种方式

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10712525.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    两种方式作用相同,是同一套代码的两种表述。

    第一种方式:集聚。

    直接设置成员属性(全局属性),这种方法不能灵活修改网络请求超时时间timeout。

    声明为成员属性:

    1 // MARK: - 设置为全局变量
    2 var timeoutSessionManager1:Alamofire.SessionManager = {
    3     let configuration = URLSessionConfiguration.default
    4     //请求超时时间15秒
    5     configuration.timeoutIntervalForRequest = 15
    6     return Alamofire.SessionManager(configuration: configuration)
    7 }()

    在方法中调用:

    1 // MARK: - 方法内调用
    2 override func viewDidLoad() {
    3     self.timeoutSessionManager1.request(url,method:.post ).responseJSON { response in 
    4         // TODO:处理服务器返回的数据
    5     }     
    6 }

    第二种方式:分散。

    这种方法可以灵活修改网络请求超时时间timeout。

    声明为成员属性:

    1 // MARK: - 设置为全局变量
    2 var timeoutSessionManager2: Alamofire.SessionManager?

    在方法中修改声明的属性。在方法种调用:

     1 // MARK: - 方法内修改属性的值和调用
     2 override func viewDidLoad() {
     3     //修改属性的值
     4     let config = URLSessionConfiguration.default
     5     //设置请求超时时间
     6     config.timeoutIntervalForRequest = 15
     7     self.timeoutSessionManager2 = Alamofire.SessionManager(configuration: config)
     8     
     9     // MARK: - 调用
    10     self.timeoutSessionManager2.request(url,method:.post ).responseJSON { response in 
    11         // TODO:处理服务器返回的数据
    12     }     
    13 }
  • 相关阅读:
    CSS选择器
    基础DOS命令
    超链接a标签
    vscode使用技巧
    pc端页面添加meta标签:X-UA-Compatible meta标签
    提问的智慧
    Zepto核心模块源代码分析
    远程调试工具weinre使用教程
    HTML标签marquee实现滚动效果
    git 学习教程
  • 原文地址:https://www.cnblogs.com/strengthen/p/10712525.html
Copyright © 2011-2022 走看看