În lumea programării, este esențial să gestionezi eficient procesele asyncrone pentru a asigura o experiență de utilizare atractivă. În special în JavaScript, există numeroase modalități de a face acest lucru. Una dintre cele mai populare metode de a lucra cu procese asyncrone este construcția async/await. Aceasta implică o simplificare sintactică care îți permite să structurezi programarea asyncronă mai clară și mai lizibilă. Să explorăm în acest ghid bazele async și await și cum pot îmbunătăți codarea ta.
Cele mai importante concluzii
- async/await permite o sintaxă clară și mai simplă pentru gestionarea proceselor asyncrone.
- Fiecare funcție care utilizează cuvântul cheie await trebuie să fie declarată ca async.
- await așteaptă efectiv îndeplinirea unui Promise, înainte ca codul să continue să se execute.
- Gestionarea erorilor poate fi implementată elegant cu blocuri try/catch.
Ghid pas cu pas
Mai întâi, ar trebui să te asiguri că înțelegi bazele Promiselor, deoarece async/await se bazează pe acestea. Dacă ești familiarizat cu Promises, putem acum discuta despre utilizarea async/await.
Pasi 1: Crearea unei funcții de întârziere
Înc începe cu o funcție simplă care returnează un Promise care simulează o întârziere. Iată un exemplu pentru o funcție numită delay.
A aceasta este o implementare de bază. Cu această funcție, poți specifica o întârziere în milisecunde.

Pasi 2: Introducerea Async și Await
Acum vrei să beneficiezi de avantajele async/await. Începe prin a crea o funcție care folosește cuvântul cheie async.
În acest fragment de cod, funcția runDelay folosește cuvântul cheie async, ceea ce îi permite să folosească await. Asta înseamnă că execuția funcției va fi suspendată până când Promise-ul returnat de funcția delay este îndeplinit.
Pasi 3: Testarea funcției asyncrone
Pentru a testa funcționarea, apelează funcția runDelay.
Când vei rula scriptul, vei vedea că consola afișează „Încep întârzierea...”, apoi face o pauză de 2 secunde și, în final, afișează „Întârzierea s-a încheiat.”.
Pasi 4: Gestionarea erorilor cu try/catch
Asta se întâmplă adesea în programare – erorile pot apărea în orice moment. Cu async/await, poți gestiona erorile mai ușor folosind try/catch.
Dacă vrei să prindă erorile, poți modifica funcția runDelay astfel:
Prin utilizarea try/catch, orice eroare care apare în timpul execuției await delay(2000) poate fi prinsă și afișată.

Pasi 5: Utilizarea fetch cu async/await
Un alt caz utilizat frecvent este obținerea de date cu API-ul fetch.
În acest exemplu, se face o solicitare de rețea cu fetch. Din nou, putem folosi await pentru a ne asigura că așteptăm răspunsul înainte de a continua.
Rezumat - Async și Await: Un ghid pas cu pas
În acest ghid, ai învățat cum să gestionezi procesele asyncrone cu construcția async/await în JavaScript mai clar. Ai văzut cum să creezi o funcție de întârziere, cum să gestionezi erorile și cum să obții date eficient cu API-ul fetch.
Folosește această sintaxă în proiectele tale viitoare pentru a face codul tău mai lizibil și mai ușor de întreținut!
Întrebări frecvente
Care este diferența dintre async și await?async marchează o funcție ca fiind asyncronă, ceea ce înseamnă că returnează Promises. await este utilizat pentru a aștepta rezultatul unui Promise.
Când ar trebui să folosești async/await?Folosește-l atunci când lucrezi cu procese asyncrone și vrei să păstrezi codul tău clar și lizibil.
Pot folosi async/await în orice browser?Da, dar asigură-te că browserul utilizat acceptă sintaxa modernă JavaScript. Dacă este necesar, pot fi utilizate transpiler-uri precum Babel.
Pot folosi await într-o funcție obișnuită?Nu, pentru a utiliza await, funcția în care este folosit trebuie să fie declarată ca async.
Ce se întâmplă dacă un Promise eșuează?Dacă un Promise eșuează, va fi generată o eroare care poate fi gestionată cu try/catch.