Come eseguire codice JavaScript asincrono


Scopri come utilizzare la parola chiave await per scrivere codice javascript asincrono in modo semplice e leggibile.
di Antonio Lamorgese


Indice del Post...

1. Introduzione

JavaScript è un linguaggio di programmazione versatile che permette di creare applicazioni web interattive e dinamiche. Tuttavia, la gestione del codice JavaScript asincrono può risultare complessa. La parola chiave await introdotta con la specifica ES2017 semplifica notevolmente questo processo, rendendo il codice più leggibile e simile a quello sincrono.

2. In questo articolo…

Vedrai come utilizzare await per eseguire codice asincrono in JavaScript. Avrai anche modo di provare e sviluppare un semplice esempio da eseguire online su W3Schools.

3. Cos’è il codice asincrono?

Il codice JavaScript asincrono è un blocco di codice che viene eseguito in modo non sequenziale, parallelamente ad altre operazioni. Questo permette di migliorare le prestazioni e la reattività di un’applicazione web.

3.1 Esempio di codice asincrono

function getData(url) {
   fetch(url)
      .then(response => response.json())
      .then(data => console.log(data));
}

getData('https://api.example.com/data');

In questo esempio:

a) La funzione getData esegue una richiesta HTTP all’URL specificato.

b) La funzione fetch restituisce una Promise che rappresenta il risultato futuro della richiesta.

c) Il metodo then viene utilizzato per gestire il risultato della Promise.

d) Il primo .then estrae il JSON dalla risposta HTTP.

e) Il secondo .then stampa il JSON in console.

3.2 Come utilizzare await

La parola chiave await può essere utilizzata all’interno di funzioni async per sospendere l’esecuzione del codice JavaScript fino a quando la Promise associata ad un’operazione asincrona non viene risolta.

3.3 Esempio di codice con await

async function getData(url) {
   const response = await fetch(url);
   const data = await response.json();
   console.log(data);
}

getData('https://api.example.com/data');

In questo esempio:

a) La funzione getData è ora async.

b) await fetch sospende l’esecuzione di getData fino a quando la richiesta al server non viene completata.

c) Il valore della risposta fetch (un oggetto Response) viene assegnato alla variabile response.

d) await response.json() è un’altra operazione asincrona che viene sospesa con await.

e) Il valore JSON della risposta viene restituito e stampato in console.

async e await per eseguire codice javascript asincrono
async e await per eseguire codice javascript asincrono

3.4 Vantaggi di await

a) Rende il codice più leggibile e simile a quello sincrono.

b) Evita la necessità di utilizzare callback o Promise chains.

c) Permette di gestire errori in modo più semplice.

3.5 Esempio di gestione errori

async function getData(url) {
   try {
      const response = await fetch(url);
      const data = await response.json();
      console.log(data);
   } catch (error) {
      console.error(error);
   }
}

getData('https://api.example.com/data');

In questo caso, se la richiesta al server fallisce, l’errore viene catturato e stampato in console.


Leggi anche: Imparare Javascript applicando 4 trucchi poco conosciuti


4. Prova su W3Schools

Puoi provare alcuni script di codice sull’utilizzo dell’esecuzione di codice asincrono in javascript su W3Schools cliccando su questo link.

Come provare il codice javascript asincrono sul portale W3Schools
Come provare il codice javascript asincrono sul portale W3Schools

5. Conclusione

Await è una parola chiave potente che semplifica la gestione di operazioni asincrone in JavaScript, rendendo il codice JavaScript più leggibile e simile a quello sincrono. L’utilizzo di await è il sistema più efficace per migliorare la leggibilità, la manutenibilità e le prestazioni del tuo codice JavaScript.

Domande frequenti:

1. Quali sono i vantaggi di utilizzare await per gestire il codice asincrono?

a) Migliore leggibilità: Il codice con await è più simile a quello sincrono e quindi più facile da leggere e comprendere.
b) Manutenibilità: L’utilizzo di await rende il codice più facile da mantenere e debuggare.
c) Gestione degli errori: await facilita la gestione degli errori in caso di operazioni asincrone fallite.

2. Come posso utilizzare await nel mio codice?

a) Per utilizzare await, è necessario utilizzare una funzione async.
b) All’interno della funzione async, puoi utilizzare await per sospendere l’esecuzione del codice fino a quando una Promise non viene risolta.
c) Puoi utilizzare await con qualsiasi operazione che restituisce una Promise, come fetch o XMLHttpRequest.

3. Quali sono le alternative a await per gestire il codice asincrono?

a) Callback: Le callback sono funzioni che vengono passate come argomento ad altre funzioni per essere chiamate al termine di un’operazione asincrona.
b) Promise chains: Le Promise chains sono una serie di .then e .catch utilizzati per gestire il risultato di una Promise e gli eventuali errori.

ecco un esempio di codice con Callback:
function getData(url, callback) {
fetch(url)
.then(response => response.json())
.then(data => callback(data));
}
getData(‘https://api.example.com/data’, data => console.log(data));

ecco un esempio di codice con Promise chain:
fetch(‘https://api.example.com/data’)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));


Desideri acquisire nuove competenze?

corsi.it

Seguire questo corso online ti offrirà
l'opportunità di acquisire nuove competenze e di
migliorare il tuo curriculum professionale.
Clicca qui per seguire le prime lezioni gratuite online

Corsi.it - Il portale Nr.1 al mondo di corsi online


Amministratore di rete e sviluppatore. Dopo anni di esperienza nel settore, ho ideato un sistema di gestione dati MYSQL in PHP senza scrivere una sola riga di codice. Scopri di più....