Изузетне ситуације у промису у JavaScript-у

Хајде да сада научимо да обрађујемо изузетне ситуације које су се догодиле унутар промиса. У случају настанка такве ситуације морамо да одбијемо промис помоћу специјалне функције за одбијање, која аутоматски долази у други параметар функције промиса:

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

Унутар функције промиса морамо да позовемо resolve, ако је све прошло нормално, или reject, ако је настала изузетна ситуација:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // подаци промиса
    } else {
      reject('error in promise'); // ваш текст грешке
    }
  }, 3000);
});

Затим у методу then параметрима морате проследити не једну, већ две функције: прва ће се извршити, ако је промис радио нормално (resolved), а друга - ако је радио са грешком (rejected):

javascriptpromise.then(
  function(result) {
    console.log(result); // исписаће резултат промиса
  },
  function(error) {
    console.log(error);  // исписаће текст грешке
  }
);

По правилу, горе наведени код се записује компактније, ево овако:

javascriptpromise.then(function(result) {
  console.log(result); // исписаће резултат промиса
}, function(error) {
  console.log(error);  // исписаће текст грешке
});
Задание 1

Направите асинхрони код који ће генерисати случајне бројеве од 0 до 5. Све то обавите у промису. Нека промис својим резултатом враћа резултат дељења јединице са генерисаним бројем. Нека се промис изврши са грешком, ако се десило дељење са нулом, и са успехом у свим осталим случајевима.