0Pricing
Swift Academy · Lezione

Sintassi async/await e chiamata di funzioni asincrone

Scrivere e chiamare funzioni async e comprendere i punti di sospensione.

Sintassi async/await e chiamata di funzioni asincrone è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.

Benvenuto

La sintassi async/await di Swift consente di leggere il codice asincrono come se fosse sincrono. `async` indica una funzione che può sospendersi; `await` indica un punto di sospensione.

Funzione async

```swift func fetchUser(id: Int) async throws -> User { let url = URL(string: "https://api.example.com/users/\(id)")! let (data, _) = try await URLSession.shared.data(from: url) return try JSONDecoder().decode(User.self, from: data) } ```

Chiamare con await

```swift Task { let user = try await fetchUser(id: 42) print(user.name) } ```

Punti di sospensione

`await` è un punto di sospensione: la funzione si interrompe qui e restituisce il thread al sistema. Al termine dell'operazione asincrona, l'esecuzione riprende.

async su MainActor

```swift @MainActor func updateUI() async { let data = try? await fetchData() label.text = data?.description ?? "Error" } ```

Collegare i callback ad async

```swift func fetchAsync() async throws -> Data { try await withCheckedThrowingContinuation { cont in URLSession.shared.dataTask(with: url) { data, _, error in if let data { cont.resume(returning: data) } else { cont.resume(throwing: error!) } }.resume() } } ```

Gestione degli errori con try await

```swift do { let user = try await fetchUser(id: 1) render(user) } catch URLError.notConnectedToInternet { showOfflineMessage() } catch { showError(error) } ```

await nei cicli for

```swift for id in userIds { let user = try await fetchUser(id: id) // sequential process(user) } ``` Questo recupera un elemento alla volta. Per recuperare i dati in concorrenza, usi async let.

Restituire valori

```swift func sum(a: Int, b: Int) async -> Int { await Task.sleep(nanoseconds: 1_000_000) return a + b } let result = await sum(a: 3, b: 4) // 7 ```

Proprietà asincrone

```swift var thumbnail: UIImage { get async { try! await loadImage(url: imageURL) } } let img = await post.thumbnail ```

Verifica rapida

Che cosa significa `await` in un punto di sospensione?

Riepilogo

Concetti chiave: • `async` — indica una funzione sospendibile • `await` — punto di sospensione; il thread viene liberato durante l'attesa • `try await` per le funzioni asincrone che possono generare errori • `@MainActor` per le operazioni dell'interfaccia utente • `withCheckedThrowingContinuation` collega i callback Prossimo argomento: Task e cancellazione.

Domande Frequenti

La lezione «Sintassi async/await e chiamata di funzioni asincrone» è gratuita?

Sì — il testo completo di «Sintassi async/await e chiamata di funzioni asincrone» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.

Cosa imparerò in «Sintassi async/await e chiamata di funzioni asincrone»?

Scrivere e chiamare funzioni async e comprendere i punti di sospensione. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Swift Academy?

Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Sintassi async/await e chiamata di funzioni asincrone»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Swift Academy?

Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Sintassi async/await e chiamata di funzioni asincrone
  2. Task e cancellazione dei task
  3. async let e task figli concorrenti
  4. Actor: proteggere lo stato mutabile condiviso
← Torna a Swift Academy