Sobes.tech
Junior — Middle

Aký je rozdiel medzi konštrukciami async/await a Promise pri práci s asynchrónnym kódom v JavaScripte?

sobes.tech AI

Odpoveď od AI

Promise er hlutur sem táknar niðurstöðu asynchronous aðgerðar, sem getur verið fullnægt eða hafnað í framtíðinni. Hann gerir kleift að skrá meðhöndlara með aðferðum then() og catch().

async/await er syntaktískur sykur yfir Promise, sem gerir kleift að skrifa asynchronous kóða í stíl eins og synkron, sem gerir hann auðveldari í lestri og viðgerð.

Helstu munir:

  • Promise krefst keðja then/catch til að meðhöndla niðurstöður og villur.
  • async/await gerir kleift að nota lykilorðin await til að bíða eftir niðurstöðu Promise innan asynchronous fallar.

Dæmi:

// Promise
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

// async/await
async function fetchData() {
  try {
    const response = await fetch(url);
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}
fetchData();

Þannig einfaldar async/await vinnu með Promise, gerir kóðann línulegri og skiljanlegri.