Stanja promisa u JavaScript-u

Promis može biti u jednom od tri stanja. Prilikom kreiranja, promis je na čekanju (pending), a zatim može postati ispunjen (fulfilled), vraćajući dobijeni rezultat, ili odbijen (rejected), vraćajući razlog neuspeha. Možete videti prelazak iz jednog stanja u drugo pokretanjem sledećeg koda:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // postavite ili true ili false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('greška u promisu');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // svake sekunde prikazujemo promis u konzoli
}, 1000);

Imajte u vidu da su stanja fulfilled i rejected nepromenljiva: ako promis pređe u jedno od ovih stanja, onda više ne može preći u drugo. Pogledajmo na primeru. U sledećem kodu poziv reject će se desiti ranije, pa će poziv resolve biti zignorisan:

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

Napravite promis koji će se uspešno izvršiti posle nekog vremena. Prikažite ga u konzoli i proučite njegovo početno stanje i završno.

Задание 2

Napravite promis koji će se izvršiti sa neuspehom posle nekog vremena. Prikažite ga u konzoli i proučite njegovo početno stanje i završno.