Junior — Middle
Puoi spiegare cos'è la programmazione asincrona nel contesto della costruzione Async/Await?
sobes.tech AI
Risposta dell'AI
La programmazione asincrona con Async/Await consente di scrivere codice che esegue operazioni lunghe (ad esempio, richieste di rete o lettura di file) senza bloccare il thread principale di esecuzione. L'idea chiave è che una funzione contrassegnata come async può sospendere la sua esecuzione all'istruzione await, attendendo il completamento di un'operazione asincrona, senza bloccare il thread.
Questo semplifica il lavoro con l'asincronia, rendendo il codice più leggibile e simile a una sequenza, a differenza di callback annidati o catene di promesse.
Esempio in 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("Dati ricevuti: \(data)")
} catch {
print("Errore: \(error)")
}
}