Junior — Middle
Hoe kun je de uitvoering van een specifiek codeblok garanderen nadat je antwoorden hebt ontvangen van meerdere HTTP-verzoeken?
sobes.tech AI
Antwoord van AI
In iOS, om een codeblok uit te voeren nadat meerdere HTTP-verzoeken zijn voltooid, is het handig om DispatchGroup te gebruiken. Het stelt je in staat om een groep asynchrone taken te volgen en code uit te voeren wanneer ze allemaal zijn voltooid.
Voorbeeld in Swift:
let dispatchGroup = DispatchGroup()
var results: [Data] = []
for url in urls {
dispatchGroup.enter()
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
results.append(data)
}
dispatchGroup.leave()
}.resume()
}
dispatchGroup.notify(queue: .main) {
// Deze blok wordt uitgevoerd nadat alle verzoeken zijn voltooid
print("Alle verzoeken zijn voltooid")
}
Op deze manier helpt DispatchGroup om meerdere asynchrone operaties te synchroniseren en code uit te voeren na hun voltooiing.