Sobes.tech
Middle

Async/await yapısı neden tanıtıldı ve asenkron kodla çalışmayı nasıl geliştiriyor?

sobes.tech yapay zeka

AI'dan gelen yanıt

Async/await, geleneksel geri çağırmalar veya vaatlere kıyasla daha okunabilir ve sürdürülebilir hale getirmek için asenkron kod yazımını basitleştirmek amacıyla tanıtıldı.

Nasıl geliştirilir:

  1. Okunabilirlik: async/await ile yazılan kod, satır satır senkron gibi görünür, bu da anlaşılmasını büyük ölçüde kolaylaştırır.
  2. Hata işleme: Asenkron kodda hataları işlemek için try/catch gibi standart yapıları kullanmaya izin verir, .catch() yerine.
  3. Hata ayıklama: Duraklama noktaları (breakpoints), senkron kod gibi çalışır, hata ayıklama sürecini kolaylaştırır.
  4. Daha az "callback hell": İç içe geçmiş geri çağırma sorununu ortadan kaldırır, bu da okunması zor kodlara yol açar.

Örnek:

Promise ile kod:

// Promise örneği
fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => {
    console.log(data);
  })
  .catch(error => {
    console.error('Veri alınırken hata:', error);
  });

Aynı kod async/await ile:

// async/await ile örnek
async function fetchData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Veri alınırken hata:', error);
  }
}

fetchData();

async/await yapısı, promise tabanlıdır ve onlarla çalışmak için sözdizimi şekeridir. async ile işaretlenmiş fonksiyon her zaman bir promise döner. await operatörü yalnızca async fonksiyonlar içinde kullanılabilir ve promise'in çözülmesini "bekler", çözülmüş değeri döndürür veya hata durumunda istisna fırlatır.