Set timeout in Alamofire

后端 未结 14 1279
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-01 03:33

I am using Alamofire 4.0.1 and I want to set a timeout for my request. I tried the solutions gived in this question:

In the first case

14条回答
  •  被撕碎了的回忆
    2020-12-01 04:14

    after a lot of try I made it whit the next:

    var timeout = 300 // 5 minutes
    
    //Post values
        let parameters:Parameters = parameters
    
        //Server value
        let url:URL = (url)
    
    
        //Make the request
        let configuration = URLSessionConfiguration.default
        configuration.timeoutIntervalForResource = TimeInterval(timeout)
        configuration.timeoutIntervalForRequest = TimeInterval(timeout)
    
        let sessionManager = Alamofire.SessionManager(configuration: configuration)
    
         sessionManager.request(url,parameters:parameters).validate(statusCode: 200..<300).responseJSON { response in
    
    
            print(response.request)  // original URL request
            print(response.response) // URL response
    
            print(sessionManager.session.configuration.timeoutIntervalForRequest)   // result of response time
            print(response.timeline.totalDuration)
    
    
            switch response.result {
            case .success:
    
                if let valJSON = response.result.value {
    
    
                   //use your json result 
    
    
    
                }
    
            case .failure (let error):
    
                print("\n\nAuth request failed with error:\n \(error)")
    
            }
        }
    

    I hope it helps ;)

提交回复
热议问题