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'));