JavaScript-də Promise-lərdə İstisna Halları

Gəlin indi promise daxilində baş verən istisna hallarını necə idarə edəcəyimizi öyrənək. Belə bir vəziyyət yaranması halında, biz promise-i xüsusi bir rədd etmə funksiyası vasitəsilə rədd etməliyik, hansı ki, avtomatik olaraq promise funksiyasının ikinci parametrinə daxil olur:

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

Promise funksiyasının daxilində biz resolve çağırmalıyıq, əgər hər şey normal getdisə, ya da reject, əgər istisna halları yarandısa:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // promise məlumatı
    } else {
      reject('promise-də xəta'); // sizin xəta mətni
    }
  }, 3000);
});

Sonra, then metodunda parametr olaraq bir deyil, iki funksiya ötürməlisiniz: birincisi, əgər promise normal işlədisə (resolve oldu) işləyəcək, ikincisi isə - əgər xəta ilə işlədisə (reject oldu):

javascriptpromise.then(
  function(result) {
    console.log(result); // promise nəticəsini göstərəcək
  },
  function(error) {
    console.log(error);  // xəta mətni göstərəcək
  }
);

Bir qayda olaraq, yuxarıda göstərilən kod daha yığcam şəkildə, belə yazılır:

javascriptpromise.then(function(result) {
  console.log(result); // promise nəticəsini göstərəcək
}, function(error) {
  console.log(error);  // xəta mətni göstərəcək
});
Задание 1

0-dan 5-ə qədər təsadüfi ədədlər yaradan asinxron kod yazın. Bütün bunları promise içinə alın. Promise nəticə olaraq vahidin yaradılan ədədə bölünməsinin nəticəsini qaytarsın. Promise-in sıfıra bölmə baş verdikdə xəta ilə, digər bütün hallarda isə uğurla yerinə yetirilməsini təmin edin.