Sobes.tech
Junior

JavaScript'te async/await yapısı hakkında bilgi ver.

sobes.tech yapay zeka

AI'dan gelen yanıt

async/await — promise üzerindeki sözdizimi şekeridir ve daha basit yazılmış, senkron görünen asenkron kod yazmak için tasarlanmıştır.

async anahtar kelimesi ile işaretlenmiş fonksiyonlar her zaman bir promise döner. Bir async fonksiyon içinde await anahtar kelimesi kullanılabilir.

await operatörü, bir promise çağrısının önünde kullanılır. Bu, promise çözülene (resolved) veya reddedilene (rejected) kadar async fonksiyonunun yürütülmesini duraklatır. Promise'in sonucu (başarı veya hata) await tarafından döndürülür.

Eğer await ile işaretlenmiş promise reddedilirse, bu bir istisna tetikler ve try...catch bloğu ile yakalanabilir.

// async/await kullanım örneği
async function fetchData() {
  try {
    // Asenkron işlemin tamamlanmasını bekle (örneğin API isteği)
    const response = await fetch('https://api.example.com/data');
    // Yanıtı JSON olarak ayrıştır
    const data = await response.json();
    // Alınan veriyi göster
    console.log(data);
  } catch (error) {
    // Olası hatayı yakala
    console.error('Veri alınırken hata:', error);
  }
}

// async fonksiyonunu çağır
fetchData();

// Promise döndüren async fonksiyon örneği
async function getValue() {
  return 10; // Bu otomatik olarak Promise.resolve(10) ile sarılır
}

getValue().then(value => console.log(value)); // 10 yazdırır

async/await avantajları:

  • Kod okunabilirliği: Asenkron kod, senkron gibi görünür
  • Hata işleme: Standart try...catch bloklarıyla daha kolay
  • Daha az iç içe geçmişlik: "Callback cehennesi" veya uzun .then() zincirlerinden kaçınır

Unutulmaması gereken, await'in yalnızca async fonksiyonlar içinde kullanılabileceğidir.