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

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);
});

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);
});

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);
});

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.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 hata yönetimi sınaması
Hızlı kontrol: Hatalar nerede ele alınmalı?

Ö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.

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
- Olay Döngüsü ve Görev-Mikro Görev Temelleri
- Promise'ler — Durumlar, Zincirleme, Hata Yönetimi
- Promise.all / any / race / allSettled — doğru aracı seçin