Sobes.tech
Junior — Middle

JavaScript-də asinxron kod ilə işləyərkən async/await və Promise quruluşları arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Promise — bu obyekt, asinxron əməliyyatın nəticəsini təmsil edir və gələcəkdə yerinə yetirilə və ya rədd edilə bilər. then() və catch() metodları vasitəsilə işləyiciləri qeyd etməyə imkan verir.

async/await — Promise üzərində sintaktik şəkərdir və asinxron kodu sinxron tərzdə yazmağa imkan verir, onu daha oxunaqlı və ayıklama üçün daha rahat edir.

Əsas fərqlər:

  • Promise nəticə və səhvləri işləmək üçün then/catch zəncirlərini tələb edir.
  • async/await, Promise-in nəticəsini gözləmək üçün await açar sözlərini istifadə etməyə imkan verir.

Nümunə:

// 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();

Beləliklə, async/await Promise ilə işləməni sadələşdirir, kodu daha xətti və anlaşılan edir.