Sobes.tech
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)")
    }
}