Junior — Middle
Async/Await tuzilmasida asinxron dasturlash nima ekanligini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Async/Await yordamida asinxron dasturlash, uzoq davom etadigan operatsiyalarni (masalan, tarmoq so'rovlar yoki fayl o'qishlar) asosiy bajarish oqimini bloklamasdan yozishga imkon beradi. Asosiy g'oya shundaki, async bilan belgilangan funksiya await operatorida o'z bajarilishini to'xtatishi mumkin, asinxron operatsiya tugashini kutib, lekin oqimni bloklamasdan.
Bu asinxronlik bilan ishlashni soddalashtiradi, kodni o'qilishi osonroq va ketma-ketga o'xshash qiladi, ichma-ich callbacklar yoki promise zanjirlari o'rniga.
Swiftda misol:
func fetchData() async throws -> Data {
let url = URL(string: "https://example.com/data.json")!
let (data, _) = try await URLSession.shared.data(from: url)
return data
}
Task {
do {
let data = try await fetchData()
print("Ma'lumotlar olindi: \(data)")
} catch {
print("Xato: \(error)")
}
}