Junior — Middle
Как да се осигури изпълнението на определен блок код след получаване на отговори от няколко HTTP заявки?
sobes.tech AI
Отговор от AI
В iOS, за да изпълните блок от код след завършването на няколко HTTP заявки, е удобно да използвате DispatchGroup. Той позволява да следите група от асинхронни задачи и да изпълните код, когато всички те приключат.
Пример на 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) {
// Този блок ще се изпълни след приключване на всички заявки
print("Всички заявки са завършили")
}
По този начин DispatchGroup помага да се синхронизират няколко асинхронни операции и да се изпълни код след тяхното завършване.