Czy starasz się poznać koncepcję obietnic JavaScript? W tym artykule wyjaśniono, jak stworzyć obietnicę, dlaczego używamy obietnicy w JavaScript i nie tylko.

What is Promise in JavaScript?

Przegląd

Mamy nadzieję, że lepiej rozumiesz typy danych JavaScript. To kolejny post na blogu w kategorii Programming. W tym samouczku JavaScript przejdziemy przez , co jest obiecujące w JavaScript , a wraz z tym zobaczymy, jakie są operacje asynchroniczne, wykorzystanie obietnic i jak stworzyć obietnice w JavaScript. Po pierwsze, asynchroniczny proces/operacja jest taka, która wykonuje niezależnie w odniesieniu do innych procesów i nie tworzy żadnego zablokowania. Dlatego musisz obsłużyć operacje asynchroniczne, w przeciwnym razie może to powodować nieprawidłowości w kodzie JavaScript. Zbadamy więc, w jaki sposób możemy obsłużyć operacje asynchroniczne za pomocą obietnic. W tym samouczku JavaScript omówimy następujące punkty:

Czym jest obietnica w JavaScript? Wyjaśniono obietnice

Obietnica jest obiektem, który reprezentuje wartość pogody operacji asynchronicznej, która została rozwiązana, odrzucona lub jest w stanie oczekująca. Bardziej proste słowa, obietnice są używane do zwrócenia wartości, która ma być jeszcze wytworzona przez asynchroniczny blok kodu. W rzeczywistości istnieją trzy stany obietnicy i może to być w dowolnym z następujących stanów: Oczekujący : Obietnica jest w stanie oczekującym, co oznacza, że ​​jest w fazie początkowej i obecnie jest w realizacji. spełnione : Obietnica została rozwiązana, a wartość została zwrócona. Odrzucone : Jest to stan spowodowany każdym błędem, co oznacza, że ​​obietnica została odrzucona. Ważną rzeczą do rozważenia jest to, że wartość/stan zwrócony przez obietnicę jest niezmienna i nie można jej zmienić, co oznacza, że ​​obietnice upewniają się, że nie ma niezwykłego zachowania.

Dlaczego używamy obietnicy w JavaScript?

Jeśli nie wiesz, że Callback Hell, pozwól mi podzielić się tym, co to jest. Po pierwsze, wywołanie zwrotne jest funkcją w innej funkcji. Zasadniczo funkcja wywołania zwrotnego jest przekazywana jako drugi argument w funkcji, która wykonuje się po otrzymaniu wyników. Tak więc, w wielu scenariuszach, musisz zagnieżdżać funkcję wywołania zwrotnego, a wraz ze wzrostem gniazdowania jest prawie niemożliwe do obsługi. Dlatego nazywamy to długie gniazdowanie funkcji wywołania zwrotnegoPiekło oddzwonienia . Tak więc obietnica jest sposobem na uniknięcie sytuacji piekielnej oddzwaniania. Zastosowanie obietnic zapewnia lepszą czytelność i lepszą obsługę błędów. Ponadto możesz lepiej obsługiwać operacje asynchroniczne, odzyskując zwróconą wartość i przekazując tę ​​wartość do następnej funkcji w łańcuchu.

Jak działa obietnica w JavaScript?

Teraz zrozummy mechanizm pracujący stojący za obietnicami. Spójrz na wspomniany poniżej schemat.

Jak działa obietnica w JavaScript??

Zgodnie z wymienionym powyżej przepływem pracy szczegóły wdrożenia są dość jasne. Obietnica rozpoczyna wykonywanie jego stworzenia i jest w stanie oczekującym na odpowiedź. Istnieją dwie opcje albo będą dane, albo wystąpi błąd po zakończeniu przetwarzania. Po otrzymaniu danych trafia do bloku .then () i przechodzi do bloku .catch () w przypadku błędu.

Jak stworzyć obietnicę?

Do tej pory omówiliśmy podstawową koncepcję obietnicy. Teraz zbadamy, jak możemy stworzyć obietnicę w JavaScript. Użyjmy następującego konstruktora obietnicy, aby stworzyć obietnicę.

let promise = new Promise(function(resolve, reject) {
  // do some processing.. 
});

Obietnicy konstruktor pełni funkcję argumentu, który ponownie przyjmuje dwa argumenty, rozwiązuje, a drugie odrzucenie. Wzywa metodę rozstrzyp () w przypadku sukcesu i przechodzi do bloku odrzucania () w przypadku błędu lub odrzucenia. Chodźmy trochę głęboko i odkryjmy stworzenie obietnicy.

let data = "";

let dataValue = new Promise(function (resolve, reject) {
    if (data) {
        resolve("There is some data.");
    } else {
        reject("There is no data");
    }
});

console.log(dataValue);

W powyższym fragmencie kodu możesz dalej wykonywać wywołania API w bloku RESPOID (). Zobaczmy teraz wzór wykonania obietnicy JavaScript.

let promiseExecution = new Promise((res, rej) => {
  console.log('synchronous execution');
  if (true) {
    res('Success');
  } else {
    rej('Error');
  }
})

promiseExecution.then((data) => {
  console.log('It is executing asynchronously: ' + data);
}).catch((err) => {
  console.log('It is executing asynchronously: ' + err);
}).finally(() => {
  console.log('promise is completed');
});

console.log('Hello Word');

Poniżej znajduje się wyjście powyższego fragmentu kodu:

synchronous execution
Hello Word
It is executing asynchronously: Success
promise is completed

Tak więc kod wewnątrz ciała obietnicy działa synchronicznie, więc wydrukowano „wykonanie synchroniczne”. Następnie blok .ten () działa asynchronicznie i czeka, aż wynik zostanie wygenerowany, ale wykonanie programu nie zatrzymuje się, dlatego „Hello Word” jest drukowane i wykonanie obietnicy zostało odroczone. Następnie blok .then () wykonuje i zwraca obiecane wartości. Taka jest historia obietnic JavaScript. Ponownie, ponieważ JavaScript jest pojedynczy gwint, obietnice są używane do obsługi operacji asynchronicznych w sposób nie blokujący.

Wniosek

To jest koniec tego samouczka JavaScript. Mam nadzieję, że masz dobry pomysł na obietnice JavaScript. Omówiliśmy What jest obiecujący w JavaScript , dlaczego używamy obietnicy w JavaScript,Jak obietnica działa w JavaScript i jak stworzyć obietnicę. Ponadto omówimy ten temat więcej o jego zaawansowanym wykorzystaniu i przepisach. Dlatego przejrzyj ten artykuł na wypadek, gdybyś przygotowywał się na sesję rozmowy kwalifikacyjnej.

Połącz się z nami

Wreszcie Containerize.com oferuje trwające samouczki JavaScript na różne ekscytujące tematy. Możesz pozostać w pętli, obserwując nas na naszych platformach społecznościowych, w tym Facebook, LinkedIn i Twitter.

Zadać pytanie

Możesz poinformować nas o swoich pytaniach lub zapytaniach na naszym forum.

FAQ

Jakie są obietnice w JavaScript z przykładem? Połącz ten link, aby wiedzieć, jakie są obietnice w JavaScript.

Zobacz też