Quali sono le funzioni asincroni/attesa in JavaScript

Quali sono le funzioni asincroni/attesa in JavaScript

Come tutti sappiamo, la natura a filo singolo di JavaScript lo rende sincrono; Quindi le funzioni asincroni sono necessarie per eseguire qualsiasi compito asincrono. Le funzioni asincroni ci consentono di eseguire un'azione senza aspettare che il completamento dell'azione precedente. Ciò significa che esiste un ciclo di eventi che ti consente di mettere in coda un'attività (Quando richiede alcune risorse) e passare al successivo.

JavaScript offre molte funzionalità che possono rendere il codice asincrono; asincrone Aspetta le funzioni sono una di queste. IL funzioni asincriche/attesa sono solo zuccheri sintattici in cima alle funzionalità già presenti in JavaScript. Forniscono un modo semplice per gestire il codice asincrono. IL funzioni asincriche/attesa Può essere scambiato con promesse nel codice JavaScript e il codice funzionerà perfettamente bene

I cervelli umani non sono progettati per gestire l'asincronia in modo efficiente. IL funzioni asincriche/attesa Consentici di scrivere codice che sembra sincronizzato ma lo esegue in modo asincrono.

Questo articolo ti aiuterà a conoscere asincrone e attendere le funzioni in Javascript.

Perché usare le funzioni asincroni/attesa?

Di seguito sono riportati i motivi per cui funzioni asincriche/attesa dovrebbe essere usato nel codice JavaScript:

  • Possiamo scrivere un codice pulito e conciso con alcuni errori usando asincrone/attesa. Ciò aumenterà la leggibilità del codice nidificato e complesso.
  • Aiuta a entrare Debug. Gli errori possono essere gestiti in un posto utilizzando Try/Catch.
  • IL funzioni asincriche/attesa Avere uno stack di errore adeguato, a differenza dello stack ambiguo ricevuto da Promise, che rende difficile trovare dove si è verificato l'errore.

Come usare Async in JavaScript

Asincrone è una parola chiave che può essere utilizzata per la dichiarazione di funzioni sincroni. Tramite la funzione asincrona, Puoi assicurarti di non interrompere il thread di esecuzione, che può essere scritto come un codice basato sulla promessa di sincronizzazione.

Caratteristiche della funzione Async

  • Lavora in modo asincrono attraverso un ciclo di eventi
  • Restituisce sempre un valore
  • Verifica che una promessa restituisce, e in caso contrario, JavaScript lo avvolge automaticamente con la promessa che si risolve a quel valore

Sintassi della funzione asincrimale

La sintassi del funzione asincrona è come segue:

Nome della funzione Async ([param1 [, param2 [,… param3]])
dichiarazioni

Qui, il nome rappresenta il nome della funzione, i params rappresentano il nome dei parametri da passare nella funzione e le istruzioni contengono il corpo della funzione e una o più espressioni di attesa utilizzate all'interno della funzione asincrimale.

Un semplice esempio di funzione asincrimale

const getData = async () =>
var data = "Hello World";
restituire dati;

getData ().Quindi (data => console.log (dati));

Diamo un'occhiata a un altro esempio:

funzione asincrica foo ()
Aspetta 1;

La funzione di cui sopra è equivalente alla seguente funzione:

funzione foo ()
Restituzione della promessa.risolvere (1).Quindi (() => non definito)

L'esempio sopra rappresenta che è probabile che il codice dopo ogni espressione attendi.e .Poi. Attraverso le funzioni, la catena di promesse viene automaticamente costruita passo dopo passo in ogni fase di rientro. Il valore di ritorno costituisce l'ultimo passo nella catena.

Come usare l'attesa in javascript

Lo scopo dell'espressione di attesa è attendere JavaScript prima del risultato di ritorno della promessa. È importante notare che ciò mette in fila solo un blocco di funzione asincrono, non l'esecuzione dell'intero programma.

Caratteristiche della funzione di attesa

  • Può essere usato solo all'interno di blocchi asincroni.
  • Fa aspettare il codice che la promessa di restituire un risultato.
  • Solo blocchi asincroni saranno tenuti ad aspettare.

Sintassi della funzione di attesa

La sintassi dell'espressione di attesa è la seguente:

[RV] = AVEDI [ESPRESSIONE]

Qui, in attesa rappresenta qualsiasi valore per attendere o promettere, RV restituisce il valore se non c'è promessa, altrimenti restituisce il valore atteso della promessa.

Un semplice esempio di espressione di attesa

const getData = async =>
var y = attesa "ciao mondo";
console.log (y);

console.log (1);
getData ();
console.log (2);

JavaScript esegue il codice in sequenza.

Nell'esempio sopra possiamo vedere che il console.Log (1) è stato stampato per primo come previsto. Dopo questo il funzione getData () è stato chiamato dove abbiamo avviato una variabile con il nome di y e abbiamo usato la parola chiave di attesa in essa.

La parola chiave in attesa farà fermare il runtime di JS o mettere in pausa il codice in quella riga I-e in cui abbiamo scritto "Hello World". Non consentirà l'esecuzione di ulteriore codice fino a quando la chiamata della funzione asincrima non restituisce il risultato. Invierà questa attività alla coda delle attività e le righe successive del codice inizieranno a eseguire.

Nella riga successiva dopo aver chiamato la funzione getData () Stiamo registrando la console il 2 alla finestra della console. Quindi abbiamo visto 2 prima "Ciao mondo".

Ora dopo questo quando il funzione di chiamata asincrona restituisce il risultato solo quindi il codice riprenderà per eseguire di nuovo e quindi vediamo "Ciao mondo"Alla fine della finestra della console.

Conclusione

Le funzioni asincroni e attendono sono un ottimo modo per gestire il codice asincrono in JavaScript mentre forniscono sintassi chiara e concisa. In questo post abbiamo esplorato il concetto di funzioni asincroni/attesa in javascript. Nella prima metà dell'articolo abbiamo esplorato quali sono le funzioni Async/Aspetta e perché dovremmo usarle. Quindi abbiamo esplorato le loro caratteristiche e la sintassi insieme agli esempi.