Situaciones excepcionales en promesas en JavaScript

Ahora aprendamos a manejar situaciones excepcionales que ocurren dentro de una promesa. En caso de que surja tal situación, debemos rechazar la promesa usando una función especial de rechazo, que automáticamente se incluye en el segundo parámetro de la función de la promesa:

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

Dentro de la función de la promesa debemos llamar a resolve si todo salió normalmente, o a reject si surgió una situación excepcional:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false;
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);   // datos de la promesa
    } else {
      reject('error in promise'); // tu texto de error
    }
  }, 3000);
});

Luego, en el método then debes pasar no una, sino dos funciones como parámetros: la primera funcionará si la promesa se ejecutó normalmente (se resolvió), y la segunda, si se ejecutó con error (se rechazó):

javascriptpromise.then(
  function(result) {
    console.log(result); // mostrará el resultado de la promesa
  },
  function(error) {
    console.log(error);  // mostrará el texto del error
  }
);

Por lo general, el código anterior se escribe de forma más compacta, así:

javascriptpromise.then(function(result) {
  console.log(result); // mostrará el resultado de la promesa
}, function(error) {
  console.log(error);  // mostrará el texto del error
});
Задание 1

Crea un código asíncrono que genere números aleatorios del 0 al 5. Envuelve todo esto en una promesa. Que la promesa como resultado devuelva el resultado de dividir uno entre el número generado. Que la promesa se ejecute con error si ocurrió una división entre cero, y con éxito en todos los demás casos.