Paraméterei

A Promise konstruktora egyetlen függvényt vár paraméterként, amelyet általában “executor” függvénynek neveznek. Az executor függvénynek két paramétere van, amelyek maguk is függvények: resolve és reject.

Resolve

Akkor hívjuk meg, ha az aszinkron művelet sikeresen befejeződött, és át akarjuk adni a végeredményt a Promise-nak. A resolve függvény meghívása a Promise állapotát “pending”-ből “fulfilled”-re változtatja

Reject

Akkor hívjuk meg, ha az aszinkron művelet hibával fejeződött be. A hibát argumentumként adjuk át a reject függvénynek. A reject meghívása a Promise állapotát “pending”-ből “rejected”-re változtatja.

Itt egy egyszerű példa:

const myPromise = new Promise((resolve, reject) => {
  // Egy egyszerű aszinkron művelet szimulálása
  setTimeout(() => {
    const success = Math.random() > 0.5; // 50% esély a sikerre

    if (success) {
      resolve('Sikeres eredmény'); // Az ígéret teljesült
    } else {
      reject('Hiba történt'); // Az ígéret elutasítva lett
    }
  }, 1000);
});

myPromise
  .then(result => {
    console.log(result); // Ha az ígéret teljesült, ez a callback hívódik meg
  })
  .catch(error => {
    console.error(error); // Ha az ígéret elutasítva lett, ez a callback hívódik meg
  });

Ebben a példában az executor függvény egy setTimeout-ot használ az aszinkron művelet szimulálására. Miután az időzített művelet befejeződik, a resolve vagy a reject függvény hívódik meg a művelet sikerességétől függően.

Was this page helpful?