【发布时间】:2018-11-26 12:26:02
【问题描述】:
我一直在考虑使用 Alamofire 来处理我的网络请求。我在某处读过 Alamofire 进行回调缓存。我的意思是当我对同一个 URL 执行多个 GET 时,但只有 1 个执行实际请求并且两者都只收到响应。这样我可以避免对同一资源的多次网络调用,但在两个回调中都有资源
我只是在他们的文档中找不到这个概念的任何真相。
所以我的问题是这可能吗?如果是这样,这只是幕后的事情还是我该如何使用它?
我一直在使用他们文档中的以下代码进行测试:
func x() {
Alamofire.request("https://httpbin.org/get").responseJSON { response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)") // response serialization result
print("Timeline: \(response.timeline)")
if let json = response.result.value {
print("JSON: \(json)") // serialized json response
}
if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
print("Data: \(utf8Text)") // original server data as UTF8 string
}
}
}
x()
x()
x()
方法 x 被调用 3 次,并通过网络触发 3 次 GET。
【问题讨论】: