Sobes.tech
Middle+

Czym jest Promise w JavaScript? Opowiedz o stanach promisy i metodach pracy z nią.

sobes.tech AI

Odpowiedź od AI

Promise w JavaScript to obiekt reprezentujący wynik operacji asynchronicznej, która może zakończyć się sukcesem lub błędem w przyszłości.

Stany promisa:

  • pending (oczekujące) — stan początkowy, operacja jeszcze nie zakończyła się.
  • fulfilled (zrealizowane) — operacja zakończyła się sukcesem, jest wynik.
  • rejected (odrzucone) — operacja zakończyła się błędem.

Główne metody pracy z Promise:

  • .then(onFulfilled, onRejected) — dodaje obsługę dla sukcesu i błędu.
  • .catch(onRejected) — dodaje obsługę błędu (odpowiednik .then(null, onRejected)).
  • .finally(onFinally) — wykonuje funkcję po zakończeniu promisa, niezależnie od wyniku.

Przykład:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    const success = true;
    if (success) {
      resolve('Dane otrzymane');
    } else {
      reject('Błąd');
    }
  }, 1000);
});

promise
  .then(result => console.log(result))
  .catch(error => console.error(error))
  .finally(() => console.log('Operacja zakończona'));