
Co to jest promesa?
Promesa – definicja i znaczenie
Promesa, znana również jako “obietnica” lub “zobowiązanie”, jest terminem pochodzącym z języka hiszpańskiego, który zyskał popularność w kontekście programowania i tworzenia oprogramowania asynchronicznego.
Jednak pojęcie promesy nie ogranicza się tylko do programowania. Jest to również pojęcie znaczące w życiu codziennym oraz w relacjach międzyludzkich.
W kontekście programowania
W programowaniu promesa jest obiektem reprezentującym wartość, która może być dostępna natychmiast, być wynikiem obliczeń lub być dostępna później. Najczęściej spotykanymi kontekstami użycia promes są operacje, które mogą potrwać pewien czas, takie jak pobieranie danych z serwera czy operacje wejścia-wyjścia (I/O). Zamiast blokować wykonywanie programu, korzystając z promes, możliwe jest asynchroniczne wykonywanie wielu operacji jednocześnie.
Struktura promesy
Promesa składa się z trzech stanów:
Oczekujący (pending): Stan początkowy, w którym promesa nie jest ani spełniona, ani odrzucona.
Spełniona (fulfilled): Stan, w którym operacja zakończyła się sukcesem, a wynik jest dostępny.
Odrzucona (rejected): Stan, w którym operacja zakończyła się niepowodzeniem, a powód odrzucenia jest dostępny.
Promesa może przejść tylko z jednego stanu do drugiego: z oczekującego do spełnionego lub odrzuconego, i po osiągnięciu jednego z tych stanów, pozostaje w nim już na zawsze, jest to tzw. “stan niezmienialny”.
Zalety użycia promes w programowaniu
Korzystanie z promes w programowaniu ma wiele zalet, w tym:
Asynchroniczność: Promesy pozwalają na wykonywanie wielu operacji równolegle, co poprawia wydajność programu.
Łatwość obsługi błędów: Dzięki mechanizmowi obsługi odrzucenia, łatwiej jest zarządzać błędami i wyjątkami w kodzie.
Czytelność kodu: Użycie promes może znacznie poprawić czytelność kodu, zwłaszcza w przypadku wielu zagnieżdżonych operacji asynchronicznych.
Przykład użycia promesy w javascript
javascript
// Tworzenie promesy
const oblicz = new Promise((resolve, reject) => {
// Symulowanie operacji asynchronicznej (np. pobieranie danych z serwera)
setTimeout(() => {
const wynik = Math.random();
if (wynik > 0.5) {
resolve(wynik); // Promesa spełniona
} else {
reject(‘Błąd obliczeń’); // Promesa odrzucona
}
}, 2000); // Symulowanie czasu trwania operacji (2 sekundy)
});
// Obsługa promesy
oblicz.then((wynik) => {
console.log(‘Wynik obliczeń:’, wynik);
}).catch((error) => {
console.error(‘Błąd:’, error);
});
W tym przykładzie tworzona jest promesa, która symuluje obliczenia i zwraca losową wartość. Jeśli wartość jest większa niż 0.5, promesa jest spełniona, w przeciwnym razie jest odrzucona. Następnie używana jest metoda then() do obsługi przypadku, gdy promesa zostanie spełniona, oraz metoda catch() do obsługi błędów, gdy promesa zostanie odrzucona.
Promesa jest pojęciem szeroko stosowanym w programowaniu, szczególnie w kontekście operacji asynchronicznych. Dzięki promesom możliwe jest efektywne zarządzanie asynchronicznymi operacjami oraz obsługa błędów w czytelny sposób. Warto poznać i zrozumieć mechanizm promes, gdyż jest to istotny element współczesnych technologii informatycznych.
You may also like
Nie przegap ciekawych pytań:
Co kupić na chrzest dziewczynce?
Ile kosztuje odrobaczanie psa?
Ile kosztuje aparat na zęby w 2022 roku?
Jak rozpoznać zepsuty bakłażan?
Makijaż permanentny ust: czy warto? opinie i analiza
Soyfem: kontrowersje i opinie
The bear: gdzie obejrzeć?
Studia podyplomowe sap: czy warto inwestować w rozwój zawodowy?
Orbitrek – czy warto inwestować w ten sprzęt do treningu?
Jak zrobić robota z kartonu: kreatywna przygoda dla wszystkich
Bik - co to takiego?
Laser krzyżowy – który wybrać? Forum ekspertów daje odpowiedzi
Jak zrobić misia z masy cukrowej
Dlaczego po posiłku chce się spać
Astaksantyna: siła natury wspierająca zdrowie i urodę
Power bank: na co zwrócić uwagę przy wyborze idealnego urządzenia?
Skóra: tajemniczy Świat naszego największego narządu
Mecz polska - czechy online za darmo: szansa dla kibiców na emocje
Jak zrobić jaskinię z papieru
Ile kosztuje badanie crp?
Plastry na rzucenie palenia: opinie i skuteczność
Archives
Calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |


