Undtagelsessituationer i promises i JavaScript

Lad os nu lære at håndtere undtagelsessituationer, der er opstået inde i et promise. I tilfælde af en sådan situation skal vi afvise promiset ved hjælp af en speciel afvisningsfunktion, som automatisk indgår i den anden parameter i promise-funktionen:

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

Inde i promise-funktionen skal vi kalde resolve, hvis alt gik normalt, eller reject, hvis der opstod en undtagelsessituation:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // promisets data
    } else {
      reject('fejl i promise'); // din fejltekst
    }
  }, 3000);
});

Dernæst skal du i metoden then videregive ikke én, men to funktioner som parametre: den første vil udløses, hvis promiset udførtes normalt (blev resolved), og den anden - hvis det udførtes med en fejl (blev rejected):

javascriptpromise.then(
  function(result) {
    console.log(result); // vil udskrive promisets resultat
  },
  function(error) {
    console.log(error);  // vil udskrive fejlteksten
  }
);

Som regel skrives ovenstående kode mere kompakt, sådan her:

javascriptpromise.then(function(result) {
  console.log(result); // vil udskrive promisets resultat
}, function(error) {
  console.log(error);  // vil udskrive fejlteksten
});
Задание 1

Lav asynkron kode, som vil generere tilfældige tal fra 0 til 5. Pak det hele ind i et promise. Lad promiset returnere resultatet af division af et med det genererede tal som sit resultat. Lad promiset udføres med en fejl, hvis der skete division med nul, og med succes i alle andre tilfælde.