Situações excepcionais em Promises em JavaScript

Agora vamos aprender a lidar com situações excepcionais que ocorrem dentro de uma Promise. Em caso de ocorrência de tal situação, devemos rejeitar a Promise usando uma função de rejeição especial, que é automaticamente passada como segundo parâmetro da função da Promise:

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

Dentro da função da Promise, devemos chamar resolve se tudo ocorreu normalmente, ou reject se ocorreu uma situação excepcional:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // dados da promise
    } else {
      reject('erro na promise'); // seu texto de erro
    }
  }, 3000);
});

Em seguida, no método then você deve passar não uma, mas duas funções como parâmetros: a primeira será executada se a Promise for resolvida com sucesso (foi resolvida), e a segunda - se for rejeitada com erro (foi rejeitada):

javascriptpromise.then(
  function(result) {
    console.log(result); // exibirá o resultado da promise
  },
  function(error) {
    console.log(error);  // exibirá o texto do erro
  }
);

Geralmente, o código acima é escrito de forma mais compacta, assim:

javascriptpromise.then(function(result) {
  console.log(result); // exibirá o resultado da promise
}, function(error) {
  console.log(error);  // exibirá o texto do erro
});
Задание 1

Faça um código assíncrono que irá gerar números aleatórios de 0 a 5. Encapsule tudo isso em uma Promise. Deixe a Promise retornar como resultado o resultado da divisão de um pelo número gerado. Deixe a Promise ser rejeitada com erro se ocorrer uma divisão por zero, e com sucesso em todos os outros casos.