Junior — Middle
Poți explica ce este programarea asincronă în contextul construcției Async/Await?
sobes.tech AI
Răspuns de la AI
Programarea asincronă folosind Async/Await permite scrierea de cod care efectuează operații lungi (de exemplu, solicitări de rețea sau citirea fișierelor) fără a bloca firul principal de execuție. Ideea principală este că o funcție marcată ca async poate suspenda execuția sa la instrucțiunea await, așteptând finalizarea unei operații asincrone, fără a bloca firul.
Aceasta simplifică lucrul cu asincronia, făcând codul mai ușor de citit și asemănător cu unul secvențial, spre deosebire de callback-uri încastrate sau lanțuri de promisiuni.
Exemplu în 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("Date primite: \(data)")
} catch {
print("Eroare: \(error)")
}
}