Sobes.tech
Junior

Parla della costruzione async/await in JavaScript.

sobes.tech AI

Risposta dell'AI

async/await — zucchero sintattico sui promise, progettato per scrivere codice asincrono più semplice che sembra sincrono.

Una funzione contrassegnata con la parola async restituisce sempre una promessa. All'interno di una funzione async, è possibile usare la parola chiave await.

L'operatore await viene usato prima di una chiamata a una promessa. Sospende l'esecuzione della funzione async finché la promessa non viene risolta o rifiutata. Il risultato della promessa (successo o errore) viene restituito da await.

Se la promessa a cui si applica await viene rifiutata, ciò genera un'eccezione che può essere catturata con un blocco try...catch.

// Esempio di utilizzo di async/await
async function fetchData() {
  try {
    // Attende il completamento di un'operazione asincrona (ad esempio, una richiesta API)
    const response = await fetch('https://api.example.com/data');
    // Analizza la risposta in JSON
    const data = await response.json();
    // Mostra i dati ricevuti
    console.log(data);
  } catch (error) {
    // Cattura eventuali errori
    console.error('Errore nel recupero dei dati:', error);
  }
}

// Chiamata alla funzione async
fetchData();

// Funzione async che restituisce una promessa
async function getValue() {
  return 10; // Questo viene automaticamente avvolto in Promise.resolve(10)
}

getValue().then(value => console.log(value)); // Mostrerà 10

Vantaggi di async/await:

  • Leggibilità del codice: Il codice asincrono assomiglia di più al codice sincrono
  • Gestione degli errori: Più facile da usare con blocchi try...catch standard
  • Meno annidamento: Evita la "tortura dei callback" o lunghe catene .then()

È importante ricordare che await può essere usato solo all'interno di funzioni async.