A Promise állapotai JavaScriptben

Egy Promise három állapot egyikében lehet. Létrehozáskor a Promise függő állapotban van (pending), majd teljesítetté válhat (fulfilled), visszaadva a kapott eredményt, vagy elutasítottá (rejected), visszaadva az elutasítás okát. Megfigyelheti az átmenetet egyik állapotból a másikba, ha futtatja a következő kódot:

javascriptlet promise = new Promise(function(resolve, reject) {
  setTimeout(function() {
    let isError = false; // állítsa be true vagy false értékre
    
    if (!isError) {
      resolve([1, 2, 3, 4, 5]);
    } else {
      reject('error in promise');
    }
  }, 3000);
});

setInterval(function() {
  console.log(promise); // minden másodpercben kiírjuk a promise-ot a konzolra
}, 1000);

Vegye figyelembe, hogy a fulfilled és rejected állapotok változatlanok: ha egy promise ezen állapotok egyikébe kerül, akkor már nem tud áttérni a másikba. Nézzük meg egy példán. A következő kódban a reject hívás történik előbb, ezért a resolve hívás figyelmen kívül marad:

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

Készítsen egy promise-ot, amely bizonyos idő elteltével sikeresen teljesül. Írja ki a konzolra és tanulmányozza a kezdeti és a befejezett állapotát.

Задание 2

Készítsen egy promise-ot, amely bizonyos idő elteltével sikertelenül zárul. Írja ki a konzolra és tanulmányozza a kezdeti és a befejezett állapotát.