Junior — Middle
Можете ли да објасните шта је асинхроно програмирање у контексту конструкције Async/Await?
sobes.tech АИ
Одговор од АИ
Асимхронно програмирање са коришћењем Async/Await омогућава писање кода који извршава дуготрајне операције (нпр. мрежне захтеве или читање фајлова) без блокирања главног тока извршавања. Кључна идеја је да функција означена као async може привремено зауставити своје извршавање на наредби await, чекајући завршетак асинхроне операције, а да при том не блокира ток.
Ово поједностављује рад са асинхроношћу, чини код читљивијим и сличнијим секвенцијалном, за разлику од угнездних повратних позива или ланаца промиса.
Пример у 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)")
}
}