Estados de uma Promise em JavaScript

Uma Promise pode estar em um de três estados. Ao ser criada, a Promise fica no estado pendente (pending), e então pode se tornar realizada (fulfilled), retornando um resultado de sucesso, ou rejeitada (rejected), retornando um motivo de falha. Você pode observar a transição de um estado para outro executando o seguinte código:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // defina como true ou false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('erro na promise');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // a cada segundo mostramos a promise no console
}, 1000);

Lembre-se que os estados fulfilled e rejected são imutáveis: se uma Promise mudou para um desses estados, ela não poderá mais mudar para o outro. Vamos ver um exemplo. No código a seguir, a chamada reject acontecerá primeiro, portanto a chamada resolve será ignorada:

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

Crie uma Promise que será realizada com sucesso após algum tempo. Exiba-a no console e estude seu estado inicial e seu estado final.

Задание 2

Crie uma Promise que será rejeitada com uma falha após algum tempo. Exiba-a no console e estude seu estado inicial e seu estado final.