Async și Await în JavaScript

Async și Await în JavaScript sunt cuvinte cheie puternice folosite pentru a gestiona operațiuni asincrone cu promisiuni. Funcțiile asincrone returnează implicit promisiuni, în timp ce Await întrerupe execuția până când promisiunea este rezolvată. Acest lucru simplifică codul asincron și îmbunătățește lizibilitatea făcându-l să pară sincron.

Funcția Async

The async> funcția ne permite să scriem cod bazat pe promisiuni ca și cum ar fi sincron. Acest lucru asigură că firul de execuție nu este blocat.

  • Manipularea promisiunilor : Funcțiile asincrone returnează întotdeauna o promisiune. Dacă se returnează o valoare care nu este o promisiune, JavaScript o include automat într-o promisiune rezolvată.

Sintaxă asincronă

async function myFunction() { return 'Hello'; } 

Exemplu: Aici, vom vedea utilizarea de bază a asincronului în JavaScript.

javascript
const getData = async () =>{ let data = 'Hello World';  date returnate; } getData().then(data => console.log(data));>>>   
Ieșire
Hello World 

Așteptați cuvântul cheie

The await> cuvântul cheie este folosit pentru a aștepta rezolvarea unei promisiuni. Poate fi folosit doar într-un bloc asincron.

  • Pauză de execuție : Await face ca codul să aștepte până când promisiunea returnează un rezultat, permițând un cod asincron mai curat și mai ușor de gestionat.

Sintaxă

Exemplu : Acest exemplu arată utilizarea de bază a cuvântului cheie await în JavaScript.

javascript
const getData = async () =>{ let y = await 'Hello World';  console.log(y); } console.log(1); Obțineți date(); console.log(2);>>>   
Ieșire The asincron cuvântul cheie transformă o funcție JavaScript obișnuită într-o funcție asincronă, determinând-o să returneze o Promisiune.

The așteaptă cuvântul cheie este folosit în interiorul unei funcții asincrone pentru a întrerupe execuția acesteia și pentru a aștepta rezolvarea unei Promisiune înainte de a continua.

Exemplu Async/Await

Aici, vom implementa mai multe promisiuni într-o metodă și apoi acea metodă o vom folosi pentru afișarea rezultatului nostru. Puteți verifica JS sintaxa async/wait în exemplu.

Javascript
function asynchronous_operational_method() {  let first_promise =   new Promise((resolve, reject) =>rezolvare('Bună ziua'));  let second_promise = new Promise((rezolvare, respingere) => { setTimeout(() => { resolve(' techcodeview.com..'); }, 1000); });  let combined_promise = Promise.all([prima_promisiune, a doua_promisiune]);  returnează promisiunea_combinată; } funcția asincronă afișare() { let data = await asynchronous_operational_method();  console.log(date); } display();>>>   

Ieșire:

Explicaţie:

  1. Creația de promisiune :
    • Sunt create două promisiuni: una se rezolvă imediat cu Hello, iar cealaltă se rezolvă după 1 secundă cu techcodeview.com...
  2. Combinarea promisiunilor :
    • Metoda Promise.all() combină ambele promisiuni într-o singură promisiune, combined_promise.
  3. Funcția asincronă :
    • Funcția display() este declarată asincronă, indicând că conține operații asincrone.
  4. În așteptarea rezoluției promisiunii :
    • Cuvântul cheie await întrerupe execuția până când combined_promise este rezolvată.
  5. Rezultat înregistrare :
    • Matricea rezolvată din combined_promise este înregistrată în consolă.

Notă

La rezolva și respinge sunt argumente predefinite de JavaScript.

  • Funcția de rezolvare este utilizată atunci când o sarcină asincronă este finalizată și returnează rezultatul.
  • Funcția de respingere este utilizată atunci când o sarcină asincronă eșuează și returnează motivele eșecului.

Avantajele Async și Await

  1. Lizibilitate îmbunătățită : Async și Await permit ca codul asincron să fie scris într-un stil sincron, făcându-l mai ușor de citit și de înțeles.
  2. Eroare de manipulare : Folosirea blocurilor try/catch cu async/wait face ca gestionarea erorilor să fie simplă.
  3. Evită iadul de apel invers : Async și Await ajută la evitarea apelurilor imbricate și a lanțurilor de promisiuni complexe.
  4. Depanare mai bună : Depanarea codului async/wait este mai intuitivă, deoarece se comportă ca un cod sincron.

Concluzie

Async și Await în JavaScript au revoluționat programarea asincronă, făcând codul mai lizibil și mai ușor de întreținut. Permițând ca codul asincron să fie scris într-un stil sincron, acestea reduc complexitatea asociată cu apelurile inverse și înlănțuirea promisiunilor. Înțelegerea și utilizarea eficientă a asincronului și a așteptării vă poate îmbunătăți semnificativ abilitățile de programare JavaScript, facilitând gestionarea operațiunilor asincrone în proiectele dvs.

Browsere acceptate:

Browserele acceptate de JS Funcția Async/Await sunt enumerate mai jos:

  • Google Chrome 55 și versiuni ulterioare
  • Firefox 52 și versiuni ulterioare
  • Apple Safari 10.1 și versiuni ulterioare
  • Opera 42 și mai sus
  • Edge 14 și mai sus