【发布时间】:2016-09-16 22:15:15
【问题描述】:
我目前正在使用 Alamofire 向我的服务器发出异步 http 请求以获取一些数据。但是,我大约在同一时间向服务器发出 3 个请求,我只想使用我发出的最后一个请求中的数据。但是,我遇到了第 2 个请求在第 3 个请求之后完成的问题。因此,它导致使用前 2 个请求中的数据。
HttpService.makeGetRequestWithHeader(AppEndPoint.driverLocation, params: params, completionHandler: {(responseData, error) -> Void in
if let data = responseData {
self.cars.removeAll()
let driverLocationListResponse: DriverLocationListResponse = DriverLocationListResponse.fromDictionary(data)
var driverCars: [DriverCar] = []
for driver in driverLocationListResponse.driverLocationList {
let driverCar: DriverCar = DriverCar(driverId: driver.driverId!, latitude: driver.latitude!, longitude: driver.longitude!)
driverCars.append(driverCar)
}
self.addCars(driverCars)
}
})
有谁知道如何解决这个问题?谢谢!
【问题讨论】:
-
您是否尝试过保留对此请求的引用并在运行前取消它?
-
谢谢亚历克斯。看起来它现在可以工作了!
-
很高兴它有帮助,我将其发布为答案。
标签: ios swift asynchronous httprequest alamofire