Junior — Middle
Môžete vysvetliť, čo je asynchrónne programovanie v kontexte konštrukcie Async/Await?
sobes.tech AI
Odpoveď od AI
Asynchrónne programovanie s použitím Async/Await umožňuje písať kód, ktorý vykonáva dlhé operácie (napríklad sieťové požiadavky alebo čítanie súborov) bez blokovania hlavného vlákna vykonávania. Kľúčová myšlienka je, že funkcia označená ako async môže pozastaviť svoje vykonávanie na príkaze await, čakajúc na dokončenie asynchrónnej operácie, bez blokovania vlákna.
Toto zjednodušuje prácu s asynchrónnosťou, robí kód čitateľnejším a podobá sa sekvenčnému vykonávaniu, na rozdiel od vnorených callbackov alebo reťazcov sľubov.
Príklad v 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("Dáta prijaté: \(data)")
} catch {
print("Chyba: \(error)")
}
}