Özet - Promise'lar
- Node.js kursu
- Başlangıç
- Ders 93/116
- 5 dk
then, Promise.all ve finally'i birleştirerek bir paralel indirici yazarsın.
Özet - Promise'lar
Bu grupta Promise'ların temelini öğrendin. Bir Promise, asenkron bir işlemin gelecekteki sonuçunu temsil eder ve pending, fulfilled, rejected olmak üzere üç durumda bulunur. Sonucu almak için then, hatayı yakalamak için catch, temizlik için finally kullanırsın.
Paralel işler için Promise.all tümü bitince sonuç dizisi döndürür; Promise.race ilk tamamlananın sonuçunu verir. Bu yöntemler, birden fazla asenkron işi tek bir akışta yönetmenin temel araçlarıdır. Sonraki derste async/await ile aynı mantığı daha okunaklı yazacağız.
Uygulama Sıra sende: zincir kur
Promise.resolve(5) ile başla. .then(n => n * 2) ile değeri iki katına çıkar. .then(n => console.log(n)) ile yazdır. Son olarak .finally(() => console.log("tamam")) ekle.
Başlangıç kodu
// Promise.resolve ile başla
// .then ile çarp, .then ile yazdır, .finally ekleÖrnek çözüm
Promise.resolve(5)
.then(n => n * 2)
.then(n => console.log(n))
.finally(() => console.log("tamam"));Beklenen çıktı
10 tamam
Uygulama Sıra sende: Promise.race ile yarış
const a = new Promise(res => setTimeout(() => res("birinci"), 10)) ve const b = new Promise(res => setTimeout(() => res("ikinci"), 30)) oluştur. Promise.race([a, b]) çağır, .then(winner => console.log(winner)) ile yazdır.
Başlangıç kodu
// a ve b Promise'ları oluştur
// Promise.race ile kazananı yazdırÖrnek çözüm
const a = new Promise(res => setTimeout(() => res("birinci"), 10));
const b = new Promise(res => setTimeout(() => res("ikinci"), 30));
Promise.race([a, b]).then(winner => console.log(winner));Beklenen çıktı
birinci
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir Promise zincirinde finally çağrısı neyi değiştirmez?
- Zincirin hata durumunu
- Async işlemin hızını
- Zincirin sırasını
- Önceki Promise'in sonuçunu Doğru cevap
Açıklama: finally yalnızca yan etki yapar, değeri korur.
2 Promise yöntemlerini eşleştir
| Kavram | Anlamı |
|---|---|
then |
tamamlanınca çalışır |
catch |
hatayı yakalar |
finally |
her durumda çalışır |
Promise.all |
tümü bitince döner |