Junior — Middle
Můžete vysvětlit, co je asynchronní programování v kontextu konstrukce Async/Await?
sobes.tech AI
Odpověď od AI
Asynchronní programování s použitím Async/Await umožňuje psát kód, který provádí dlouhotrvající operace (například síťové požadavky nebo čtení souborů) bez blokování hlavního vlákna provádění. Klíčová myšlenka je, že funkce označená jako async může pozastavit své provádění na příkazu await, čekajíc na dokončení asynchronní operace, aniž by blokovala vlákno.
To zjednodušuje práci s asynchronností, činí kód čitelnějším a podobá se sekvenčnímu provádění, na rozdíl od vnořených callbacků nebo řetězců promise.
Pří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("Data přijata: \(data)")
} catch {
print("Chyba: \(error)")
}
}