Výjimečné situace v promisách v JavaScriptu

Nyní se naučme zacházet s výjimečnými situacemi, které nastaly uvnitř promisy. V případě vzniku takové situace musíme zamítnout promisu pomocí speciální funkce zamítnutí, která automaticky spadá do druhého parametru funkce promisy:

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

Uvnitř funkce promisy musíme zavolat resolve, pokud vše proběhlo normálně, nebo reject, pokud nastala výjimečná situace:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // data promisy
    } else {
      reject('error in promise'); // váš text chyby
    }
  }, 3000);
});

Poté v metodě then parametry musíte předat ne jednu, ale dvě funkce: první se spustí, pokud promisa fungovala normálně (byla resolve), a druhá - pokud fungovala s chybou (byla reject):

javascriptpromise.then(
  function(result) {
    console.log(result); // vypíše výsledek promisy
  },
  function(error) {
    console.log(error);  // vypíše text chyby
  }
);

Zpravidla se výše uvedený kód zapisuje kompaktněji, takto:

javascriptpromise.then(function(result) {
  console.log(result); // vypíše výsledek promisy
}, function(error) {
  console.log(error);  // vypíše text chyby
});
Задание 1

Vytvořte asynchronní kód, který bude generovat náhodná čísla od 0 do 5. Zabalte vše do promisy. Nechť promisa svým výsledkem vrací výsledek dělení jedničky vygenerovaným číslem. Nechť se promisa splní s chybou, pokud došlo k dělení nulou, a s úspěchem ve všech ostatních případech.