【发布时间】:2023-03-24 14:48:01
【问题描述】:
我是 Alamofire 的新手,它的逻辑对我来说有点混乱。 我怀疑 Alamofire 是否总是仅在该请求触发后才添加完成处理程序。 例如,这里是来自Alamofire Github 的用法示例。
Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"])
.responseJSON { response in
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print("JSON: \(JSON)")
}
}
在.request(.GET...方法中,请求本身被恢复然后返回。在那之后,返回的请求然后调用.responseJSON(...method 将完成调用添加回某个队列。由于请求已经触发,因此启动回调块是否为时已晚?通常我们总是在完全设置好之后才触发请求,不是吗?
但是,在 Charles 的监督下,我发现 Alamofire 请求只有在 .responseJSON 方法返回后才发出。
那么,请告诉我我是如何误解 Alamofire 的逻辑的。 谢谢!
【问题讨论】:
-
在jquery成功时是同一个登录