Sobes.tech
Junior

Async/await ile Promise arasındaki fark nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

async/await promises üzerine sözdizimi şekeridir. Asenkron kodu daha okunabilir ve senkron tarzda yazmaya olanak tanır, async anahtar kelimesiyle fonksiyonlar tanımlanır ve bu fonksiyonlar içinde await kullanılarak promise’in çözülmesi beklenir. Promises, asenkron bir işlemin tamamlanmasını (veya başarısız olmasını) ve sonucunu temsil eden nesnelerdir.

Özellik async/await Promise
Sözdizimi Daha çok senkron koda benzer. .then(), .catch(), .finally() metodlarını kullanır.
Okunabilirlik Genellikle daha yüksek, özellikle zincirleme durumlarda. Karmaşık zincirlerde "Callback hell"'e yol açabilir.
Hata işleme Standart try...catch kullanır. .catch() veya .then()'de ikinci argüman kullanılır.
Paralelizm Açıkça Promise.all() veya Promise.allSettled() kullanımı gerekir. Daha açık olabilir, ancak async/await olmadan daha az okunabilir.
// Promise ile örnek
function getDataPromise() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Veriler alındı');
    }, 1000);
  });
}

getDataPromise()
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error(error);
  });
// async/await ile örnek
async function getDataAsync() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Veriler alındı');
    }, 1000);
  });
}

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

processData();