Sobes.tech
Junior — Middle

El tudná magyarázni, hogy mi az aszinkron programozás az Async/Await szerkezet kontextusában?

sobes.tech MI

Válasz az MI-től

Az Async/Await használatával történő aszinkron programozás lehetővé teszi olyan kód írását, amely hosszú műveleteket (például hálózati kéréseket vagy fájlolvasást) hajt végre anélkül, hogy blokkolná a fő végrehajtási szálat. A kulcsfontosságú ötlet az, hogy egy async-ként jelölt függvény a await utasításnál megszakíthatja a végrehajtását, várva egy aszinkron művelet befejezésére, miközben nem blokkolja a szálat.

Ez megkönnyíti az aszinkronitással való munkát, olvashatóbbá teszi a kódot, és szekvenciálisnak tűnik, ellentétben a beágyazott callback-ekkel vagy ígéretekkel.

Swift példában:

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("Adatok érkeztek: \(data)")
    } catch {
        print("Hiba: \(error)")
    }
}