Async e Await in JavaScript sono parole chiave potenti utilizzate per gestire operazioni asincrone con promesse. Le funzioni asincrone restituiscono implicitamente promesse, mentre Await sospende l'esecuzione finché la promessa non viene risolta. Ciò semplifica il codice asincrono e migliora la leggibilità facendolo apparire sincrono.
Funzione asincrona
ILasync>La funzione ci consente di scrivere codice basato su promesse come se fosse sincrono. Ciò garantisce che il thread di esecuzione non venga bloccato.
tabella hash rispetto a hashmap
- Gestione delle promesse : Le funzioni asincrone restituiscono sempre una promessa. Se viene restituito un valore che non è una promessa, JavaScript lo racchiude automaticamente in una promessa risolta.
Sintassi asincrona
async function myFunction() { return 'Hello'; }>Esempio: Qui vedremo l'uso di base di async in JavaScript.
javascript
const getData = async () =>{ let data = 'Ciao mondo'; restituire i dati; } getData().then(dati => console.log(dati));> Produzione
Hello World>
Attendi la parola chiave
ILawait>La parola chiave viene utilizzata per attendere la risoluzione di una promessa. Può essere utilizzato solo all'interno di un blocco asincrono.
- Pausa di esecuzione : Await fa sì che il codice attenda finché la promessa non restituisce un risultato, consentendo un codice asincrono più pulito e gestibile.
Sintassi
let value = await promise;>
Esempio : questo esempio mostra l'uso di base della parola chiave wait in JavaScript.
al finejavascript
const getData = async () =>{ lascia y = attendi 'Ciao mondo'; console.log(y); } console.log(1); getData(); console.log(2);> Produzione
1 2 Hello World>
IL asincrono parola chiave trasforma una normale funzione JavaScript in una funzione asincrona, facendo sì che restituisca una Promise.
IL attendere La parola chiave viene utilizzata all'interno di una funzione asincrona per sospenderne l'esecuzione e attendere la risoluzione di una promessa prima di continuare.
Esempio di asincrono/attesa
Qui implementeremo diverse promesse in un metodo e quindi utilizzeremo quel metodo per visualizzare il nostro risultato. Puoi controllare JS sintassi asincrona/attesa nell'esempio.
Javascript function asynchronous_operational_method() { let first_promise = new Promise((resolve, reject) =>risolvere('Ciao')); let seconda_promessa = nuova Promessa((risolvere, rifiutare) => { setTimeout(() => { risolvere(' techcodeview.com..'); }, 1000); }); let combined_promise = Promise.all([first_promise, second_promise]); restituire promessa_combinata; } funzione asincrona display() { let data = attendono asynchronous_operativeal_method(); console.log(dati); } Schermo();> Produzione:
[ 'Hello', ' techcodeview.com..' ]>
Spiegazione:
- Creazione della promessa :
- Vengono create due promesse: una si risolve immediatamente con Hello e l'altra si risolve dopo 1 secondo con techcodeview.com...
- Combinazione di promesse :
- Il metodo Promise.all() combina entrambe le promesse in un'unica promessa, combined_promise.
- Funzione asincrona :
- La funzione display() è dichiarata asincrona, indicando che contiene operazioni asincrone.
- In attesa della risoluzione della promessa :
- La parola chiave wait sospende l'esecuzione finché combined_promise non viene risolto.
- Risultato della registrazione :
- L'array risolto da combined_promise viene registrato nella console.
Nota
A risolvere E rifiutare sono argomenti predefiniti da JavaScript.
- la funzione di risoluzione viene utilizzata quando un'attività asincrona viene completata e restituisce il risultato.
- la funzione di rifiuto viene utilizzata quando un'attività asincrona fallisce e restituisce i motivi dell'errore.
Vantaggi di Async e Await
- Leggibilità migliorata : Async e Await consentono di scrivere codice asincrono in uno stile sincrono, semplificandone la lettura e la comprensione.
- Gestione degli errori : L'utilizzo dei blocchi try/catch con async/await semplifica la gestione degli errori.
- Evita l'inferno delle richiamate : Async e Await aiutano a evitare callback annidati e catene di promesse complesse.
- Migliore debug : Il debug del codice asincrono/in attesa è più intuitivo poiché si comporta come codice sincrono.
Conclusione
Async e Await in JavaScript hanno rivoluzionato la programmazione asincrona rendendo il codice più leggibile e gestibile. Consentendo la scrittura di codice asincrono in uno stile sincrono, riducono la complessità associata ai callback e al concatenamento delle promesse. Comprendere e utilizzare async e wait in modo efficace può migliorare in modo significativo le tue capacità di programmazione JavaScript, semplificando la gestione delle operazioni asincrone nei tuoi progetti.
algoritmo per bfs
Browser supportati:
I browser supportati da JS Funzione asincrona/attesa sono elencati di seguito:
- Google Chrome 55 e versioni successive
- Firefox 52 e versioni successive
- Apple Safari 10.1 e versioni successive
- Opera 42 e superiori
- Bordo 14 e superiori