Ich verwende derzeit Alamofire, um eine asynchrone HTTP-Anforderung an meinen Server zu senden, um einige Daten zurück zu erhalten. Allerdings mache ich ungefähr 3 Anfragen gleichzeitig an den Server und ich möchte nur die Daten von der letzten Anfrage verwenden, die ich mache. Allerdings habe ich dieses Problem, bei dem die erste 2 Anfrage nach der 3. Anfrage abgeschlossen wird. Daher wurden die Daten der ersten 2 Anfrage verwendet.Verwenden von Antwortdaten aus der letzten asynchronen HTTP-Anforderung mit Alamofire
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)
}
})
Weiß jemand, wie man dieses Problem löst? Vielen Dank!
Haben Sie versucht, eine Referenz auf diese Anfrage zu behalten und sie vor dem Ausführen abzubrechen? –
Danke Alex. Es sieht so aus, als ob es jetzt funktioniert! – howly
Froh, dass es geholfen hat, habe ich es als Antwort gepostet. –