Sobes.tech
Junior — Middle

Como garantir a execução de um bloco de código específico após receber respostas de várias solicitações HTTP?

sobes.tech IA

Resposta da IA

No iOS, para executar um bloco de código após a conclusão de várias requisições HTTP, é conveniente usar DispatchGroup. Ele permite rastrear um grupo de tarefas assíncronas e executar código quando todas elas terminarem.

Exemplo em 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 bloco será executado após a conclusão de todas as requisições
    print("Todas as requisições foram concluídas")
}

Assim, DispatchGroup ajuda a sincronizar várias operações assíncronas e executar código após sua conclusão.