CodeBlanks Logo Icon CodeBlanks

Özet - async/await

JavaScript kursu · Orta seviye · Ders 83/134

async/await kullanarak sırayla iki API'den veri çekip birleştiren bir akış yazarsın.

async/await özeti

async/await, promise tabanlı asenkron kodu senkron görünümlü hale getirir. async fonksiyon her zaman bir promise döndürür; await bir promise'in sonucunu bekler. Hatalar try/catch ile yakalanır; bağımsız işlemler Promise.all ile paralel yürütülür; asenkron iterable'lar for await...of ile gezilir.

Bu özette hepsini birleştiren bir akış yazacaksın: önce sırayla iki API çağrısı yapacaksın, sonra paralel iki veriyi yükleyeceksin.

Uygulama Sıralı iki API çağrısı

async function loadProfile() yaz. İçinde try bloğunda await ile önce fetchUser()'ı user değişkenine, sonra fetchPosts(user.id)'i posts değişkenine ata. Bir catch (err) bloğu ekle ve console.error(err) ile hatayı yazdır.

Örnek çözümü göster
async function loadProfile() {
  try {
    const user = await fetchUser();
    const posts = await fetchPosts(user.id);
  } catch (err) {
    console.error(err);
  }
}

Uygulama Paralel veri yükle

async function loadParallel() yaz. İçinde await Promise.all([fetchProfile(), fetchSettings()]) çağırıp sonucu [profile, settings] olarak destructuring ile al.

Örnek çözümü göster
async function loadParallel() {
  const [profile, settings] = await Promise.all([
    fetchProfile(),
    fetchSettings()
  ]);
}

Kendini test et

  1. async/await kavramlarını eşleştir

    async function
    her zaman promise döndürür
    await
    promise sonucunu bekler
    try/catch
    asenkron hatayı yakalar
    Promise.all
    paralel yürütme sağlar
    for await...of
    async iterable'ı gezer
  2. Hangisi en hızlı yöntem?

    // A: sıralı
    const a = await p1(); const b = await p2();
    // B: paralel
    const [a, b] = await Promise.all([p1(), p2()]);
    • B seçeneği daha hızlıdır
    • A seçeneği daha hızlıdır
    • İkisi de eşit sürede biter
    • Süre promise'lara bağlı değildir
    Cevabı göster

    B seçeneği daha hızlıdır — Doğru! Paralel yürütme, bağımsız işlemlerde toplam süreyi kısaltır.

Orta seviye bölümündeki tüm dersler