⊗jsSpPrmEx 163 of 294 menu

JavaScript'te Promise'lerde İstisnai Durumlar

Şimdi bir promise içinde meydana gelen istisnai durumları nasıl işleyeceğimizi öğrenelim. Böyle bir durum ortaya çıktığında, promise'i, promise fonksiyonunun ikinci parametresine otomatik olarak giren özel bir reddetme fonksiyonu kullanarak reddetmeliyiz:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { ... }, 3000); });

Promise fonksiyonunun içinde, eğer her şey normalse resolve, ya da bir istisnai durum ortaya çıktıysa reject çağırmalıyız:

let promise = new Promise(function(resolve, reject) { setTimeout(function() { let isError = false; if (!isError) { resolve([1, 2, 3, 4, 5]); // promise verisi } else { reject('promise içinde hata'); // hata mesajınız } }, 3000); });

Daha sonra, then metoduna parametre olarak bir değil, iki fonksiyon geçirmelisiniz: birincisi, promise normal şekilde çalıştığında (resolved oldu) çalışacak, ikincisi ise hata ile çalıştığında (rejected oldu) çalışacak:

promise.then( function(result) { console.log(result); // promise sonucunu yazdırır }, function(error) { console.log(error); // hata mesajını yazdırır } );

Kural olarak, yukarıdaki kod daha kompakt bir şekilde şöyle yazılır:

promise.then(function(result) { console.log(result); // promise sonucunu yazdırır }, function(error) { console.log(error); // hata mesajını yazdırır });

0'dan 5'e kadar rastgele sayılar üreten asenkron bir kod yapın. Tüm bunları bir promise içine alın. Promise'in sonucu olarak, birin üretilen sayıya bölümünün sonucunu döndürsün. Sıfıra bölünme gerçekleştiyse promise bir hata ile tamamlansın, diğer tüm durumlarda ise başarı ile tamamlansın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet