Czym jest Promise? Jest to obiekt zwracany z metody, dzięki któremu możemy w łatwy sposób obsługiwać asynchroniczne funkcje i ich rezultaty (tak te wynikające z pełnego sukcesu, jak i z błędów, które mogą się zdarzyć w trakcie wykonania).
Przykłady w tym wpisie będą w TypeScript. Aby móc je prawidłowo uruchamiać zapoznaj się z artykułem: TypeScript: Szybki start.
Jak działa Promise?
Promise (ang. obietnica) ma 2 zasadnicze stany:
- pending – oczekiwanie
- settled – rozstrzygnięty
- resolved – rozwiązany (choć spotykałem też określenie “fulfilled”)
- rejected – odrzucony
Promise’ów używa się w funkcjach asynchronicznych (np. komunikacji ajaksem z serwerem). Dopóki nie mamy odpowiedzi (promise nie jest rozstrzygnięty) uznajemy, że jest w stanie pending (ang. w oczekiwaniu).
Kiedy już mamy wynik działania funkcji może ona być albo zakończona pozytywnie albo nie.Continue reading