Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Utilizzo di Async/Await per un Codice Asincrono più Pulito | JavaScript Asincrono e Integrazione API
Padronanza Avanzata di JavaScript

bookUtilizzo di Async/Await per un Codice Asincrono più Pulito

La sintassi async/await rappresenta un approccio moderno e più leggibile per lavorare con le promise in JavaScript. Consente agli sviluppatori di scrivere codice asincrono che appare e si comporta come codice sincrono. Invece di concatenare le chiamate then(), è possibile utilizzare await per sospendere l'esecuzione di una funzione async fino a quando una promise non viene risolta.

Come funzionano le funzioni async

Una funzione async è una funzione dichiarata con la parola chiave async. Restituisce un Promise per impostazione predefinita, e all'interno di essa è possibile utilizzare la parola chiave await per sospendere l'esecuzione fino a quando la promise non viene risolta.

index.html

index.html

index.js

index.js

copy

La funzione fetchData è dichiarata come async, consentendole di utilizzare await per sospendere l'esecuzione fino alla risoluzione di una promessa. In questo esempio, un ritardo simulato di 2 secondi imita un'operazione di recupero dati. Una volta risolta, il risultato ("Data fetched successfully!") viene visualizzato nel paragrafo HTML.

Semplificazione delle catene di Promesse con Async/Await

Quando si lavora con più operazioni asincrone in sequenza, l'utilizzo di async/await può semplificare il codice che altrimenti richiederebbe il concatenamento di promesse tramite then().

Vediamo come una serie di promesse (come il recupero e l'elaborazione dei dati) possa essere gestita in modo più chiaro con async/await.

index.html

index.html

index.js

index.js

copy

La funzione processData richiama tre funzioni asincrone—fetchData, processFetchedData e displayProcessedData—una dopo l'altra, attendendo (await) che l'operazione precedente sia completata prima di passare alla successiva. Questo flusso strutturato elimina la necessità di concatenare le promesse, migliorando la leggibilità. L'output finale ("Raw Data processed and displayed on the page") viene quindi mostrato nell'HTML.

Gestione degli errori con try...catch in Async/Await

Gestire gli errori nelle catene di promesse con .catch() può diventare complesso, soprattutto quando si lavora con più operazioni asincrone. Con async/await, è possibile gestire gli errori utilizzando il tradizionale blocco try...catch, rendendo la gestione degli errori più intuitiva e leggibile.

index.html

index.html

index.js

index.js

copy

In fetchDataWithError, il blocco try esegue l'operazione await e, se ha successo, il risultato viene visualizzato nell'HTML. Se si verifica un errore (come simulato da simulateError), il blocco catch lo gestisce impostando il testo del paragrafo sul messaggio di errore ("Error: Something went wrong!").

1. Cosa fa la parola chiave async quando viene aggiunta a una funzione?

2. Qual è lo scopo della parola chiave await?

3. Quale dei seguenti è un vantaggio dell'utilizzo di async/await rispetto alla concatenazione di .then()?

question mark

Cosa fa la parola chiave async quando viene aggiunta a una funzione?

Select the correct answer

question mark

Qual è lo scopo della parola chiave await?

Select the correct answer

question mark

Quale dei seguenti è un vantaggio dell'utilizzo di async/await rispetto alla concatenazione di .then()?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 2.22

bookUtilizzo di Async/Await per un Codice Asincrono più Pulito

Scorri per mostrare il menu

La sintassi async/await rappresenta un approccio moderno e più leggibile per lavorare con le promise in JavaScript. Consente agli sviluppatori di scrivere codice asincrono che appare e si comporta come codice sincrono. Invece di concatenare le chiamate then(), è possibile utilizzare await per sospendere l'esecuzione di una funzione async fino a quando una promise non viene risolta.

Come funzionano le funzioni async

Una funzione async è una funzione dichiarata con la parola chiave async. Restituisce un Promise per impostazione predefinita, e all'interno di essa è possibile utilizzare la parola chiave await per sospendere l'esecuzione fino a quando la promise non viene risolta.

index.html

index.html

index.js

index.js

copy

La funzione fetchData è dichiarata come async, consentendole di utilizzare await per sospendere l'esecuzione fino alla risoluzione di una promessa. In questo esempio, un ritardo simulato di 2 secondi imita un'operazione di recupero dati. Una volta risolta, il risultato ("Data fetched successfully!") viene visualizzato nel paragrafo HTML.

Semplificazione delle catene di Promesse con Async/Await

Quando si lavora con più operazioni asincrone in sequenza, l'utilizzo di async/await può semplificare il codice che altrimenti richiederebbe il concatenamento di promesse tramite then().

Vediamo come una serie di promesse (come il recupero e l'elaborazione dei dati) possa essere gestita in modo più chiaro con async/await.

index.html

index.html

index.js

index.js

copy

La funzione processData richiama tre funzioni asincrone—fetchData, processFetchedData e displayProcessedData—una dopo l'altra, attendendo (await) che l'operazione precedente sia completata prima di passare alla successiva. Questo flusso strutturato elimina la necessità di concatenare le promesse, migliorando la leggibilità. L'output finale ("Raw Data processed and displayed on the page") viene quindi mostrato nell'HTML.

Gestione degli errori con try...catch in Async/Await

Gestire gli errori nelle catene di promesse con .catch() può diventare complesso, soprattutto quando si lavora con più operazioni asincrone. Con async/await, è possibile gestire gli errori utilizzando il tradizionale blocco try...catch, rendendo la gestione degli errori più intuitiva e leggibile.

index.html

index.html

index.js

index.js

copy

In fetchDataWithError, il blocco try esegue l'operazione await e, se ha successo, il risultato viene visualizzato nell'HTML. Se si verifica un errore (come simulato da simulateError), il blocco catch lo gestisce impostando il testo del paragrafo sul messaggio di errore ("Error: Something went wrong!").

1. Cosa fa la parola chiave async quando viene aggiunta a una funzione?

2. Qual è lo scopo della parola chiave await?

3. Quale dei seguenti è un vantaggio dell'utilizzo di async/await rispetto alla concatenazione di .then()?

question mark

Cosa fa la parola chiave async quando viene aggiunta a una funzione?

Select the correct answer

question mark

Qual è lo scopo della parola chiave await?

Select the correct answer

question mark

Quale dei seguenti è un vantaggio dell'utilizzo di async/await rispetto alla concatenazione di .then()?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 4
some-alt