W JavaScript obiekty obietnicy służą do pracy z operacjami asynchronicznymi. Pojęcie obietnicy może początkowo wydawać się skomplikowane, ale w rzeczywistości są dość proste; Możemy zrozumieć obietnice JavaScript, porównując je z obietnicami świata rzeczywistego, używając terminów Laymana.
W życiu codziennym składamy obietnice, aby okazać nasze zaangażowanie. Podobnie w JavaScript tworzymy obiekt obietnicy, gdy musimy zaangażować się w wykonanie bloku kodu.
Na przykład, kiedy wysyłamy żądanie, aby pobrać dane z interfejsu API za pośrednictwem naszego kodu, interfejs API wymaga czasu na odpowiedź. W międzyczasie interpreter JavaScript przenosi się na następny blok kodu, ale chcemy wykonać jakiś kawałek kodu po spełnieniu lub odrzuceniu odpowiedzi. Teraz, jeśli użyjemy obiektu obietnicy, możemy wykonać pożądany wiersz kodów po spełnieniu lub odrzuceniu odpowiedzi API.
Obiekty obietnicy JavaScript mogą mieć trzy różne stany i.mi:
Obietnica jest w stanie oczekująca, gdy wynik obiektu jest niezdefiniowany; jest spełniony, gdy wynik ma wartość i odrzucono, gdy wynik jest błędem. Na przykład, w powyższym przykładzie, jeśli wysłaliśmy żądanie do interfejsu API i oczekujemy od danych, obietnica jest w stanie. Jeśli interfejs API z powodzeniem wysyła dane, obietnica jest spełniona i jeśli kod nie może połączyć się z interfejsem API, obietnica została odrzucona.
Jakie są obietnice w JavaScript
Jak wspomniano powyżej, operacje asynchroniczne w JavaScript są obsługiwane za pośrednictwem obietnic. Asynchroniczny JavaScript odnosi się głównie do funkcji działających równolegle z programem głównym.
W zdarzeniach JavaScript i funkcjach zwrotnych zastosowano do obsługi działania asynchronicznego przed obietnicami. Obietnice zostały dodane w wersji JavaScript ES6 w 2015 roku. Chociaż funkcje i zdarzenia zwrotne były przydatne, nadal mieli swoje ograniczenia. Piekło oddzwonienia było największą wadą wykorzystania funkcji wywołania zwrotnego.
Obietnice są idealne do obsługi operacji asynchronicznych, ponieważ mogą obsługiwać kilka operacji asynchronicznych i są o wiele lepsze w obsłudze błędów niż wydarzenia i oddzwaniania.
Jak działają obietnice w JavaScript
Funkcje asynchroniczne to funkcje, które działają równolegle do programu głównego. Funkcje te działają osobno od programu.
Obiekt obietnicy w JavaScript ma jeden z trzech stanów:
Tworzenie prostego obiektu w JavaScript
Tutaj nauczymy się tworzyć obiekt obietnicy w zaledwie kilku prostych krokach:
Notatka: Konsola przeglądarki jest używana do demonstracji przykładów w tym artykule.
Obietnice JavaScript są tworzone przy użyciu nowego CESSUT () CONSTRUCTOR:
const myPromise = new o obietnicy ();Nowa obietnica przyjmuje dwa różne parametry. Jednym z tych parametrów jest sukces (podanie obietnicy jest rozwiązana), a drugi dotyczy awarii (obiecuje się, że obietnica zostaje odrzucona):
const myPromise = nowa obietnica ((rozdzielcz, odrzuć) =>Wreszcie definiujemy ciało obiektu obietnicy. Dajemy mu stan, który zostanie spełniony tylko wtedy, gdy obietnica zostanie rozwiązana:
const myPromise = nowa obietnica ((rozdzielcz, odrzuć) =>Teraz nauczmy się korzystać z naszego nowo utworzonego obiektu obietnicy. Mogą istnieć tylko dwa różne wyniki końcowe dla obiektu obietnicy; może to być obietnica rozwiązana lub odrzucona.
następnie () metoda : Metoda następnie () określa, co będzie dalej, jeśli obietnica zostanie rozwiązana.
moja obietnica.Następnie();W tym przykładzie używamy metody następnie () do rejestrowania wiadomości (którą otrzymaliśmy od obietnicy) do konsoli.
moja obietnica.Następnie ((wiadomość) =>metoda catch () : Podobnie metoda catch () określa, co stanie się dalej, jeśli obietnica się nie powiedzie.
Można go napisać na dwa różne sposoby; osobno lub w połączeniu z metodą () (). W przypadku niespełnienia obietnicy, wykonuje metodę catch () i tym razem na konsoli zostanie wyświetlona inna wiadomość.
Wniosek
Obietnice w JavaScript to obiekty używane jako alternatywa funkcji i zdarzeń zwrotnych podczas obsługi operacji asynchronicznych w JavaScript. Obietnice mogą mieć trzy różne stany i.mi. oczekujące, spełnione lub niespełnione. W stanie oczekującym obiekt obietnicy czeka na wartość, dlatego nie ma wartości. W spełnionym stanie ma wartość rozwiązaną i w niespełnionym stanie ma powód, dla którego obietnica nie została rozwiązana. Ten post był dokładnym przewodnikiem o obiektach obiektów w JavaScript.