Junior — Middle
Async/Await курулушунун контекстинде асинхрондук программалоо деген эмне экенин түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Async/Await колдонуу менен асинхрондук программалоо узак мөөнөттүү операцияларды (мисалы, тармактык суроолор же файлдар окуу) негизги иштетүү агымын тоскоолдук кылбастан жазууга мүмкүндүк берет. Негизги идея — async деп белгиленген функция await операторунда өзүнүн иштешин токтото алат, асинхрондук операциянын аяктоо күтүп, бирок агымды тоскоолдук кылбай.
Бул асинхрондуулук менен иштөөнү жөнөкөйлөтөт, кодду окумдуу кылат жана үзгүлтүксүз ишке ашыруу сыяктуу көрүнөт, ички callbackтер же убада чынжырларынын ордуна.
Swiftте мисал:
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("Деректер алынган: \(data)")
} catch {
print("Ката: \(error)")
}
}