Junior — Middle
Bir nechta HTTP so'rovlaridan javoblar olingandan so'ng, ma'lum bir kod blokining bajarilishini qanday ta'minlash mumkin?
sobes.tech AI
AIdan javob
iOS'da, bir nechta HTTP so'rovlarini bajarishni tugatgach, kod blokini bajarish uchun DispatchGroup dan foydalanish qulay. Bu, asinxron vazifalar guruhini kuzatishga va ularning barchasi tugagach kodni bajarishga imkon beradi.
Swiftda misol:
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) {
// Bu blok barcha so'rovlar tugagach bajariladi
print("Barcha so'rovlar tugadi")
}
Shu tarzda, DispatchGroup bir nechta asinxron operatsiyalarni sinxronlashtirishga va ularning tugashidan so'ng kodni bajarishga yordam beradi.