JavaScript
HTML
CSS
PHP
Coming Soon
Generatori
Varie & Old

async e await in JavaScript

Introduzione ad async e await

In JavaScript molte operazioni (come richieste al server o timer) non terminano subito, ma in modo asincrono. async e await ci permettono di scrivere codice asincrono con una sintassi semplice e leggibile, simile a quella del codice sincrono.

Funzioni async

Una funzione dichiarata con async restituisce sempre una Promise. Se la funzione ritorna un valore semplice, questo viene automaticamente racchiuso in una Promise risolta.

Codice Esempio: funzione async

CODE: Javascriptpreleva codice
  1. async function saluta() {
  2.   return "Ciao!";
  3. }
  4.  
  5. saluta().then(messaggio => console.log(messaggio));
  6. // Output: Ciao!

Utilizzo di await

await può essere usato solo dentro funzioni async. Serve per aspettare che una Promise sia risolta, bloccando momentaneamente l’esecuzione della funzione e rendendo il codice più leggibile.

Codice Esempio: uso di await

CODE: Javascriptpreleva codice
  1. function promessa() {
  2.   return new Promise(resolve => {
  3.     setTimeout(() => resolve("Operazione completata!"), 2000);
  4.   });
  5. }
  6.  
  7. async function esegui() {
  8.   console.log("Inizio...");
  9.   let risultato = await promessa();
  10.   console.log(risultato);
  11.   console.log("Fine.");
  12. }
  13.  
  14. esegui();
  15. // Output:
  16. // Inizio...
  17. // (dopo 2 secondi)
  18. // Operazione completata!
  19. // Fine.

Gestione errori con async/await

Gli errori all’interno di funzioni async possono essere gestiti con try...catch, rendendo il codice ancora più chiaro rispetto alla catena di .then() e .catch().

Codice Esempio: gestione errori

CODE: Javascriptpreleva codice
  1. async function fetchDati() {
  2.   try {
  3.     let risposta = await fetch("https://jsonplaceholder.typicode.com/posts/1");
  4.     let dati = await risposta.json();
  5.     console.log(dati);
  6.   } catch (errore) {
  7.     console.error("Si è verificato un errore:", errore);
  8.   }
  9. }
  10.  
  11. fetchDati();

Tabella riassuntiva

Parola chiave Descrizione Esempio
async Dichiara una funzione che restituisce sempre una Promise async function x() { ... }
await Sospende l’esecuzione finché la Promise non è risolta let res = await fetch(...)
try...catch Gestisce eventuali errori in codice asincrono try { await ... } catch(e) { ... }

Considerazioni

async e await rendono il codice asincrono più leggibile e facile da gestire. Sono particolarmente utili quando si lavora con chiamate a server, operazioni che richiedono tempo o catene di Promesse complesse.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies