CodeBlanks Logo Icon CodeBlanks

Callback'leri yönetme

JavaScript kursu · Orta seviye · Ders 70/134

İç içe callback'leri isimli fonksiyonlara bölerek yönetilebilir hale getirmeyi öğrenirsin.

İsimli fonksiyonlara bölmek

Callback hell'i çözmenin en basit yolu iç içe callback'leri isimli fonksiyonlara bölmektir. Her adımı ayrı bir fonksiyon olarak tanımlarsın; böylece girinti azalır ve her fonksiyonun tek bir görevi olur.

function loadUser() {
  loadPosts();
}
function loadPosts() {
  loadComments();
}
function loadComments() {
  console.log('Tamam');
}

Bu yaklaşım kodu daha okunabilir kılar. Hata yönetimi de her fonksiyonun içinde ayrı yapılabilir. Bu desene modularization da denir.

Önce ve sonra

Aynı akışı iki şekilde yazabilirsin. Önce callback hell biçiminde:

step1(() => {
  step2(() => {
    step3(() => {});
  });
});

Şimdi isimli fonksiyonlarla:

function onStep1() {
  step2(onStep2);
}
function onStep2() {
  step3(onStep3);
}
function onStep3() {
  console.log('Tamam');
}

Her fonksiyon kısa ve tek görevli; akışı yukarıdan aşağı okuyabilirsin.

Uygulama Üç isimli fonksiyon yaz

Üç isimli fonksiyon tanımla: step1, step2 ve step3. step1 içinde setTimeout ile step2'yi 100 ms sonra çağır. step2 içinde setTimeout ile step3'ü 100 ms sonra çağır. step3 içinde console.log ile kısa bir mesaj yazdır. Fonksiyonları parantezsiz (isimle) geçir.

Örnek çözümü göster
function step1() {
  setTimeout(step2, 100);
}
function step2() {
  setTimeout(step3, 100);
}
function step3() {
  console.log('Tamamlandı');
}

Kendini test et

  1. İç içe callback'leri isimli fonksiyonlara bölmenin temel faydası nedir?

    • Okunabilirlik artar, görev ayrılır
    • Daha az kod yazılır
    • Kod daha hızlı çalışır
    • Hata tamamen ortadan kalkar
    Cevabı göster

    Okunabilirlik artar, görev ayrılır — Doğru! Her fonksiyon tek görevli olur; akış yukarıdan aşağı okunur.

  2. İsimli callback'i çağır

    function onStep1() {
      step2(____);
    }
    Cevabı göster
    function onStep1() {
      step2(onStep2);
    }
  3. Kavramları eşleştir

    isimli fonksiyon
    Görevi ayrı tutar
    modularization
    Bölme yaklaşımı
    girinti
    Azalır
    onStep1
    İlk adım
  4. İç içe callback'leri ne zaman isimli fonksiyonlara bölmelisin?

    • Hiçbir zaman
    • Yalnızca hata olduğunda
    • İç içe geçme 2 seviyeyi aşınca
    • Sadece senkron kodda
    Cevabı göster

    İç içe geçme 2 seviyeyi aşınca — Doğru! İç içe geçme derinleşince isimli fonksiyonlara bölmek okunurluğu korur.

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