Sobes.tech
Junior

Vorbește despre construcția async/await în JavaScript.

sobes.tech AI

Răspuns de la AI

async/await — un zahăr sintactic peste promisiuni, conceput pentru a scrie cod asincron mai simplu, care arată sincron.

O funcție marcată cu cuvântul async returnează întotdeauna o promisiune. În interiorul unei funcții async, se poate folosi cuvântul cheie await.

Operatorul await este folosit înainte de apelarea unei promisiuni. El întrerupe execuția funcției async până când promisiunea este rezolvată (resolved) sau respinsă (rejected). Rezultatul promisiunii (succes sau eroare) este returnat de await.

Dacă promisiunea la care se aplică await este respinsă, acest lucru generează o excepție care poate fi capturată cu un bloc try...catch.

// Exemplu de utilizare a async/await
async function fetchData() {
  try {
    // Așteptăm finalizarea unei operații asincrone (de exemplu, o cerere API)
    const response = await fetch('https://api.example.com/data');
    // Parsăm răspunsul în JSON
    const data = await response.json();
    // Afișăm datele primite
    console.log(data);
  } catch (error) {
    // Capturăm orice eroare
    console.error('Eroare la obținerea datelor:', error);
  }
}

// Apelăm funcția async
fetchData();

// Funcție async care returnează o promisiune
async function getValue() {
  return 10; // Acest lucru este automat încapsulat în Promise.resolve(10)
}

getValue().then(value => console.log(value)); // Va afișa 10

Avantajele async/await:

  • Citibilitatea codului: Codul asincron devine mai asemănător cu cel sincron
  • Gestionarea erorilor: Mai ușor de folosit cu blocuri try...catch standard
  • Mai puțină imbricare: Evită "iadul callback-urilor" sau lanțurile lungi .then().

Este important să rețineți că await poate fi folosit doar în interiorul funcțiilor async.