Sobes.tech
Junior — Middle

¿Cómo se puede garantizar la ejecución de un bloque de código específico después de recibir respuestas de varias solicitudes HTTP?

sobes.tech AI

Respuesta de la IA

En iOS, para ejecutar un bloque de código después de completar varias solicitudes HTTP, es conveniente usar DispatchGroup. Permite rastrear un grupo de tareas asíncronas y ejecutar código cuando todas ellas finalizan.

Ejemplo 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) {
    // Este bloque se ejecutará después de que todas las solicitudes hayan finalizado
    print("Todas las solicitudes han finalizado, procesamiento de resultados")
}

De esta manera, DispatchGroup ayuda a sincronizar varias operaciones asíncronas y ejecutar código después de su finalización.