Promise būsenos JavaScript

Promise gali būti vienoje iš trijų būsenų. Sukuriant Promise yra laukimo būsenoje (pending), o vėliau gali tapti įvykdytu (fulfilled), grąžinant gautą rezultatą, arba atmestu (rejected), grąžinant atmetimo priežastį. Galite pamatyti perėjimą iš vienos būsenos į kitą, paleisdami tokį kodą:

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

setInterval(function() {
  console.log(promise); // kas sekundę išvedame promise į konsolę
}, 1000);

Atminkite, kad būsenos fulfilled ir rejected yra nepakitusios: jei promise perėjo į vieną iš šių būsenų, jis nebegalės pereiti į kitą. Pažiūrėkime pavyzdžiu. Toliau pateiktame kode reject iškvietimas įvyks anksčiau, todėl resolve iškvietimas bus ignoruojamas:

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

Sukurkite promise, kuris bus sėkmingai įvykdytas po tam tikro laiko. Išveskite jį į konsolę ir ištirkite jo pradinę būseną ir užbaigtą būseną.

Задание 2

Sukurkite promise, kuris bus atmestas po tam tikro laiko. Išveskite jį į konsolę ir ištirkite jo pradinę būseną ir užbaigtą būseną.