2014-11-25 21 views
10

Tôi đang cố gắng đặt thời gian chờ phía máy khách theo yêu cầu cho Alamofire for Swift. Kiến trúc sư trưởng nói với tôi để thiết lập điều này trên NSURLRequest, nhưng tôi hoàn toàn bối rối về cách thực sự làm điều đó trong thực tế.Đặt thời gian chờ phía máy khách theo yêu cầu với Alamofire [swift]?

Có thể ai đó đã thực hiện việc này đưa ra ví dụ không? Cảm ơn!

Trả lời

17

Tôi nghĩ mã này có thể hoạt động.

var alamofireManager : Alamofire.Manager? 

func some(){ 
    let configuration = NSURLSessionConfiguration.defaultSessionConfiguration() 
    configuration.timeoutIntervalForResource = 2 // seconds 

    self.alamofireManager = Alamofire.Manager(configuration: configuration) 
    self.alamofireManager!.request(.GET, "http://example.com/") 
    .response { (request, response, data, error) in 

    } 
} 
+3

Tại sao configuration.timeoutIntervalForResource và không configuration.timeoutIntervalForRequest? –

+2

Đặt timeoutIntervalForRequest giải quyết vấn đề thời gian chờ của tôi. Trước đó, các yêu cầu dài tới một API đã hết thời gian. – djbp

0

Đây là cách bạn có thể sử dụng một thời gian chờ mỗi yêu cầu sử dụng URLRequest:

Alamofire.request(URLRequest(url: ..., cachePolicy: ..., timeoutInterval: 10)) 
    .response(...) 
+0

Mặc dù đoạn mã này có thể là giải pháp, [bao gồm giải thích] (// meta.stackexchange.com/questions/114762/explaining-entirely-‌ code-based-answers) thực sự giúp cải thiện chất lượng bài đăng của bạn. Hãy nhớ rằng bạn đang trả lời câu hỏi cho người đọc trong tương lai và những người đó có thể không biết lý do cho đề xuất mã của bạn. – milo526

Các vấn đề liên quan