catch ile hata yakalama
catch ile promise hatasını yakalamayı ve hata mesajını kullanmayı öğrenirsin.
catch ile hata yakalama
Bir promise reddedildiğinde hatayı yakalamak için catch metodunu kullanırsın. catch, zincirin sonuna eklenir ve kendisine reddetme nedeni geçirilir.
loadOrder()
.then(order => console.log(order))
.catch(error => console.log(error));Reddetme zincirin altına akar; catch gelene kadar her then atlanır. Bu sayede hatayı tek bir yerden yönetirsin ve callback'lerdeki tekrarlı denetimlerden kurtulursun.
catch kurtarma sağlar
catch aslında then(null, onRejected)'in kısa yazımıdır. Yani yalnızca başarısızlık durumunu işler. Hatayı yakaladıktan sonra catch'ten dönen değer, yeni bir başarılı promise oluşturur ve zincir normale döner.
loadOrder()
.catch(error => 'varsayılan')
.then(order => console.log(order));Bu özellik, hatadan kurtulup zincire devam etmeni sağlar. Böylece kullanıcıya yedek bir veri gösterebilirsin.
Uygulama then ve catch zinciri kur
fetchPrice adlı fonksiyon bir promise döndürür. fetchPrice'ı çağır; then ile fiyatı console.log ile yazdır; zincirin sonuna catch ekle ve hatayı console.log ile yazdır.
Örnek çözümü göster
fetchPrice()
.then(price => console.log(price))
.catch(error => console.log(error));
Kendini test et
-
catch hangi parametre alır?
- Çözülen değer
- Promise nesnesi
- Bir dizi
- Reddetme nedeni
Cevabı göster
Reddetme nedeni — Doğru! catch, reddetme nedenini alır.
-
Zincire catch ekle
loadOrder() .then(order => console.log(order)) .____(error => console.log(error));Cevabı göster
loadOrder() .then(order => console.log(order)) .catch(error => console.log(error)); -
catch kavramlarını eşleştir
- catch
- Reddetmeyi yakalar
- then(null, fn)
- catch ile aynı işi yapar
- catch'ten dönen değer
- Yeni fulfilled promise üretir