Timeline翻译后的意思是时间轴,可以表示一个事件从开始到结束的时间节点。时间轴的概念能够应用在很多地方,比如说微博的主页就是一个时间轴。

Alamofire中Timeline的代码很少,非常简单。因此本篇文章中,我们不会把重点放到代码的解读上,我们通过追踪Timeline的身影,来讲讲关于代码设计方面的东东。

为什么要设计Timeline

很简单,我需要知道一个请求过程中,每个关键时间点的值或者时间点与时间点之间的距离。这样的一个需求不仅能够用于程序的调试,而且能为别的设计提供必要的参数支持。

我们通过下边的代码进行打印:

print(response.timeline)

显示的结果是:

Timeline: { "Latency": 0.092 secs, "Request Duration": 0.092 secs, "Serialization Duration": 0.458 secs, "Total Duration": 0.551 secs }

上边的代码提供的信息有:

  • Latency: 0.092 secs 延迟,它表示从请求开始到收到或者发送第一个字节的时间长度,这里把它理解成建立连接花费的时间

  • 网友评论