Promise'i olekud JavaScriptis

Promise võib olla ühes kolmest olekust. Loomisel on Promise ootel (pending), seejärel võib see muutuda täidetuks (fulfilled), tagastades saadud tulemuse, või tagasi lükatud (rejected), tagastades eitumise põhjuse. Saate vaadata üleminekut ühest olekust teise, käivitades järgmise koodi:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // määra kas true või false
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('viga promises');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // iga sekund väljastame Promise'i konsooli
}, 1000);

Pidage meeles, et olekud fulfilled ja rejected on muutumatud: kui Promise on läinud ühte neist olekutest, siis ei saa see enam minna teise. Vaatame näidet. Järgmises koodis juhtub reject kutse varem, seega resolve kutset ignoreeritakse:

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

Tehke Promise, mis täidetakse edukalt mõne aja pärast. Väljastage see konsooli ja uurige selle algset olekut ja lõppolekut.

Задание 2

Tehke Promise, mis eitatakse mõne aja pärast. Väljastage see konsooli ja uurige selle algset olekut ja lõppolekut.