Sobes.tech
Junior — Middle

Comment assurer l'exécution d'un bloc de code spécifique après avoir reçu des réponses de plusieurs requêtes HTTP?

sobes.tech IA

Réponse de l'IA

En iOS, pour exécuter un bloc de code après la fin de plusieurs requêtes HTTP, il est pratique d'utiliser DispatchGroup. Il permet de suivre un groupe de tâches asynchrones et d'exécuter du code lorsque toutes sont terminées.

Exemple en 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) {
    // Ce bloc sera exécuté après la fin de toutes les requêtes
    print("Toutes les requêtes sont terminées, traitement des résultats")
}

Ainsi, DispatchGroup aide à synchroniser plusieurs opérations asynchrones et à exécuter du code après leur achèvement.