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.