0Pricing
JavaScript Academy · Ders

Promise'ler — Durumlar, Zincirleme, Hata Yönetimi

Promise oluşturup kullanın: durumlar (pending/fulfilled/rejected), then ile zincirleme ve catch/finally ile hata yönetimi.

Promise'ler — Durumlar, Zincirleme, Hata Yönetimi, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.

Promise'lere giriş

Amaç: Küçük Promise kalıplarını öğrenin.

  • Durumlar: beklemede → tamamlandı/reddedildi
  • then zincirleme
  • catch ile hatalar
  • Temizleme için finally
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 1

Bir Promise'i çözümleme

Bir Promise beklemede durumunda başlar ve resolve çağrıldığında tamamlandı durumuna geçer.

// Create a Promise and resolve it
function waitMs(ms) {
  return new Promise(function (resolve) {
    setTimeout(function () {
      resolve("done");
    }, ms);
  });
}

console.log("Start");
waitMs(10).then(function (msg) {
  console.log("Resolved:", msg);
});
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 2

Reddetme ve yakalama

Başarısızlıklar için reject(Error) kullanın. Bir catch, kendisinden önceki herhangi bir reddetmeyi ele alır.

// Reject to signal an error; handle with catch
function maybeFail(ok) {
  return new Promise(function (resolve, reject) {
    if (ok) {
      resolve("ok");
    } else {
      reject(new Error("bad"));
    }
  });
}

maybeFail(true)
  .then(function (v) {
    console.log("A:", v);
    return maybeFail(false);
  })
  .catch(function (e) {
    console.log("Caught:", e.message);
  });
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 3

then zincirleme temelleri

Her then bir değer (veya bir Promise) döndürebilir. Sonraki adım bu değeri alır.

// Chain then steps; return values flow to the next then
Promise.resolve(2)
  .then(function (n) {
    return n * 3;
  })
  .then(function (n) {
    console.log("Result:", n);
  });
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 4

Temizleme için finally

finally, başarıdan veya hatadan sonra temizleme yapmak içindir; değeri ya da hatayı almaz.

// finally runs whether fulfilled or rejected
function task(ok) {
  return new Promise(function (resolve, reject) {
    ok ? resolve("yay") : reject(new Error("oops"));
  });
}

task(false)
  .catch(function (e) {
    console.log("Handled:", e.message);
  })
  .finally(function () {
    console.log("Cleanup done");
  });
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 5

Promise.all'e giriş

Promise.all, sonuçlardan oluşan bir diziyle tamamlanır veya biri başarısız olursa reddedilir.

// Promise.all waits for all; rejects fast if any fail
const a = waitMs(5);
const b = Promise.resolve("B");

Promise.all([a, b])
  .then(function (values) {
    console.log("All:", values);
  })
  .catch(function (e) {
    console.log("All failed:", e.message);
  });
Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 6

Promise hata yönetimi sınaması

Hızlı kontrol: Hatalar nerede ele alınmalı?

Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 7

Özet

Özet: Başarı için resolve, hatalar için reddetme kullanın; adımları then ile zincirleyin, sorunları catch ile ele alın ve temizleme için finally kullanın.

Promise'ler — Durumlar, Zincirleme, Hata Yönetimi — resim 8

Sıkça Sorulan Sorular

“Promise'ler — Durumlar, Zincirleme, Hata Yönetimi” dersi ücretsiz mi?

Evet — “Promise'ler — Durumlar, Zincirleme, Hata Yönetimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.

“Promise'ler — Durumlar, Zincirleme, Hata Yönetimi” dersinde ne öğreneceğim?

Promise oluşturup kullanın: durumlar (pending/fulfilled/rejected), then ile zincirleme ve catch/finally ile hata yönetimi. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Promise'ler — Durumlar, Zincirleme, Hata Yönetimi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Olay Döngüsü ve Görev-Mikro Görev Temelleri
  2. Promise'ler — Durumlar, Zincirleme, Hata Yönetimi
  3. Promise.all / any / race / allSettled — doğru aracı seçin
← JavaScript Academy Sayfasına Dön