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)")
}
}