Async/await Kullanımı
Async/await Kullanımı

Async/await, JavaScript’te asenkron işlemleri daha anlaşılır ve düzenli bir şekilde yazmamızı sağlar. Asenkron işlemler, örneğin API’den veri çekmek gibi zaman alan işlemleri yaparken kodun beklemesini sağlamak için kullanılır.

Öncelikle, async anahtar kelimesi bir fonksiyonun asenkron olmasını sağlar. Bu, fonksiyon içinde await kullanabileceğimiz anlamına gelir.

await: await, bir promise’in tamamlanmasını bekler. Örneğin, bir API çağrısı yaparken await kullanırsanız, JavaScript kodun bu noktada durmasını ve API yanıtını beklemesini sağlar.

Örnek bir senaryo düşünelim: Bir API çağrısı yapıp kullanıcı verilerini almak istiyoruz.

async function getUserData() {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users/1');
    const userData = await response.json();
    console.log(userData);
  } catch (error) {
    console.error('Hata oluştu:', error);
  }
}

getUserData();

Ayrıca fetch ve axios ile ilgili yazıma buradan ulaşabilirsiniz.

Ayrıca fetch ile try…catch yapısını beraber kullanarak olası hataları yakalayıp yönetebiliriz.

async function getUserData() {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/users/1');
    
    // API çağrısının başarılı olup olmadığını kontrol ediyoruz
    if (!response.ok) {
      throw new Error('Veri alınamadı, bir sorun oluştu!');
    }
    
    const userData = await response.json();
    console.log(userData);

  } catch (error) {
    console.error('Hata oluştu:', error);
  }
}

getUserData();

Kısacası

Async/await, JavaScript’te asenkron işlemleri daha anlaşılır ve düzenli bir şekilde yazmamızı sağlar. Eğer bu yapıyı veya benzer bir yapı kullanarak asenkron yapılmaz ise API’den gelen cevabı beklemeden yazılım devam eder ve ilk anda cevap düzgün gelmediği için yazılım patlar 🙂

  1. async function tanımlaması ile fonksiyon asenkron hale gelir.
  2. await ile bir promise’in sonucunu bekleriz.
  3. try...catch bloğu ile olası hataları yakalayıp yönetebiliriz.

Konu ile ilgili github hesabımda çeşitli projeler mevcut. Bu projelerde get, post, put, delete işlemleri uygulamalı olarak yapılmıştır. Buradan github hesabıma ulaşabilirsiniz.

Gönderilere yorum yazabilir veya @huseyineskan instagram hesabımdan benimle iletişime geçebilirsiniz.