cat javascript/async-e-await-senza-paura.md

Lezione 38 12 min

async e await senza paura

Scrivere codice asincrono in modo più leggibile.

In parole semplici

async e await permettono di leggere codice asincrono quasi come una sequenza normale: prima aspetto, poi uso il risultato.

Questa lezione fa parte del modulo Dati, attese e richieste web. L’obiettivo del modulo è: Capire come gestire operazioni che non danno una risposta immediata.

Parole nuove

  • async: parola usata per dichiarare una funzione asincrona.
  • await: parola usata per aspettare una Promise.

Cosa impari

  • Capire il concetto senza partire da definizioni astratte.
  • Vedere un esempio piccolo che puoi copiare e modificare.
  • Collegare l’argomento al risultato del modulo: una piccola dashboard che mostra dati caricati da una fonte esterna.

Esempio da copiare

function aspettaUnSecondo() {
  return new Promise((resolve) => {
    setTimeout(() => resolve("Pronto"), 1000);
  });
}

async function avvia() {
  const risultato = await aspettaUnSecondo();
  console.log(risultato);
}

avvia();

Non devi memorizzare tutto subito. Prima copia l’esempio, fallo funzionare e cambia una cosa alla volta.

Esercizio guidato

  1. Copia l’esempio.
  2. Eseguilo.
  3. Cambia il messaggio “Pronto”.
  4. Aggiungi un console.log prima di await.
  5. Aggiungi un console.log dopo await.

Controllo finale

Hai finito quando sai indicare quale riga aspetta il risultato.