Sobes.tech
Junior

Promise kullanımı ile async/await sözdizimi arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Promise, asenkron bir işlemin tamamlanmasını veya reddedilmesini yansıtan bir nesnedir. .then() ve .catch() geri çağrılarını kullanarak asenkron akışları yönetir.

async/await, Promise üzerinde bir sözdizimi şekeridir ve asenkron kodu daha okunabilir ve senkronik hale getirir. async ile işaretlenmiş bir fonksiyon her zaman bir Promise döner. await operatörü yalnızca async fonksiyonlar içinde kullanılabilir ve fonksiyonun yürütülmesini, Promise çözülene veya reddedilene kadar duraklatır, ardından sonucunu döner veya istisna fırlatır.

Açıkama Promise Async/Await
Okunabilirlik .then() ve .catch() zincirleri gerektirir Senkron koda benzer, doğrusal akış
Hata işleme .catch() kullanır try...catch blokları kullanır
Yürütme akışı Geri çağrılarla yönetilir Fonksiyonu duraklatıp devam ettirir
Dönen değer Promise Promise (async fonksiyonlar için) veya Promise sonucu (await için)
Bağımlılık Bağımsız mekanizma Promise tabanlı

Promise ile örnek:

// Promise örneği
function fetchDataPromise() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve("Veriler alındı (Promise)");
    }, 1000);
  });
}

fetchDataPromise()
  .then(data => console.log(data))
  .catch(error => console.error(error));

async/await ile örnek:

// async/await ile örnek
function fetchDataAsync() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve("Veriler alındı (async/await)");
    }, 1000);
  });
}

async function showData() {
  try {
    const data = await fetchDataAsync();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}

showData();