Estados de una promesa en JavaScript

Una promesa puede estar en uno de tres estados. Al crearse, la promesa está pendiente (pending), y luego puede volverse cumplida (fulfilled), devolviendo el resultado obtenido, o rechazada (rejected), devolviendo la razón del fallo. Puedes ver la transición de un estado a otro ejecutando el siguiente código:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // establezca true o false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('error in promise');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // cada segundo mostramos la promesa en la consola
}, 1000);

Ten en cuenta que los estados fulfilled y rejected son inmutables: si una promesa pasó a uno de estos estados, ya no podrá pasar al otro. Veamos un ejemplo. En el siguiente código, la llamada reject ocurrirá antes, por lo que la llamada resolve será ignorada:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(() => reject(new Error('error')), 1000);
  setTimeout(() => resolve('ignored'), 2000);
});
Задание 1

Crea una promesa que se cumpla con éxito después de un tiempo. Muéstrala en la consola y estudia su estado inicial y su estado final.

Задание 2

Crea una promesa que falle después de un tiempo. Muéstrala en la consola y estudia su estado inicial y su estado final.