Promise.all, Promise.allSettled, Promise.race ve Promise.any arasındaki farklar nelerdir?
Cevap
Dördü de birden çok Promise'i birlikte yönetir, farkları ne zaman ve nasıl sonuçlandıklarıdır.
| Metot | Ne zaman tamamlanır | Hata davranışı |
|---|---|---|
Promise.all | Hepsi başarılı olunca, sonuçlar dizisiyle | İlk hatada hemen reject olur |
Promise.allSettled | Hepsi bitince (başarılı ya da hatalı) | Hiç reject olmaz, her sonucun status alanı vardır |
Promise.race | İlk biten Promise ile (başarılı ya da hatalı) | İlk biten hataysa reject |
Promise.any | İlk başarılı Promise ile | Hepsi hatalıysa AggregateError |
const [user, posts] = await Promise.all([getUser(), getPosts()]);
// Zaman aşımı deseni
const sonuc = await Promise.race([
fetch(url),
new Promise((_, rej) => setTimeout(() => rej(new Error("timeout")), 5000)),
]);İlgili JavaScript soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.