Alamofire减缓了每次请求

时间:2015-11-24 10:27:48

标签: ios alamofire

我正在使用Alamofire向API端点发出基本请求。我注意到,我经常进行这些测试,Alamofire请求似乎需要的时间越长。

我可以使用下面的代码示例重现此行为。这会执行大量请求并将请求的持续时间打印到控制台。最后一个请求比第一个请求慢约0.5秒。减速量似乎与API返回的JSON数量有关(我们的API返回的数据更多,减速更为重要)

我在这里遇到某种缓存机制吗?

let testURL = "https://httpbin.org/get"

for var i = 0; i < 100; i++ {

    let startDate = NSDate()
    Alamofire.request(.GET, testURL)
        .responseJSON { response in
        print("Duration of request: \(NSDate().timeIntervalSinceDate(startDate))")
    }
}

1 个答案:

答案 0 :(得分:0)

这里的问题不是Alamofire,而是你如何测量延迟。您正在排队100个请求,因此每个请求所需的时间非常短。但是由于它们排队等待,当最后一个请求运行时,将取决于之前的大多数请求。

您应该使用请求timeline对象来获取延迟,

例如,

request.timeline.totalDuration