Co to są funkcje asynchroniczne/czekają w JavaScript

Co to są funkcje asynchroniczne/czekają w JavaScript

Jak wszyscy wiemy, pojedyncza gwintowana natura JavaScript sprawia, że ​​jest synchroniczna; Więc funkcje asynchroniczne są konieczne do wykonania dowolnego zadania asynchronicznego. Funkcje asynchroniczne pozwalają nam wykonać jedną akcję bez oczekiwania na zakończenie poprzedniego działania. Oznacza to, że istnieje pętla zdarzeń, która pozwala na ustawianie się w kolejce (Kiedy prosi o niektóre zasoby) i przejdź do następnego.

JavaScript oferuje wiele funkcji, które mogą sprawić, że kod jest asynchroniczny; Async Czekaj na funkcje to jedna z nich. asynchronizacja/oczekiwanie na funkcje są tylko cukrem składniowym oprócz już obecnych funkcji w JavaScript. Zapewniają prosty sposób obsługi kodu asynchronicznego. asynchronizacja/oczekiwanie na funkcje można wymienić z obietnicami w kodzie JavaScript, a kod będzie działał idealnie dobrze

Ludzkie mózgi nie są zaprojektowane do skutecznego radzenia sobie z asynchronią. asynchronizacja/oczekiwanie na funkcje Pozwól nam napisać kod, który wygląda na zsynchronizowane, ale wykonuje go asynchronicznie.

Ten artykuł pomoże ci w poznawaniu Async i czekaj na funkcje w JavaScript.

Po co korzystać z funkcji async/czeka?

Poniżej są powody asynchronizacja/oczekiwanie na funkcje powinien być używany w kodzie JavaScript:

  • Możemy pisać czysty i zwięzły kod z kilkoma błędami za pomocą asynchronizacja/oczekiwanie. Zwiększy to czytelność zagnieżdżonego i złożonego kodu.
  • Pomaga Debugowanie. Błędy mogą być obsługiwane w jednym miejscu za pomocą Try/Catch.
  • asynchronizacja/oczekiwanie na funkcje mieć odpowiedni stos błędów, w przeciwieństwie do niejednoznacznego stosu otrzymanego przez obietnicę, co utrudnia znalezienie miejsca, w którym wystąpił błąd.

Jak używać async w JavaScript

Async jest słowem kluczowym, które można użyć do deklaracji funkcji synchronicznych. Przez Funkcja asynchroniczna, Możesz upewnić się, że nie złamiesz wątku wykonania, który można napisać jak synchronizacja kodu opartego na obietnicy.

Funkcje funkcji asynchronicznej

  • Działa asynchronicznie przez pętlę zdarzeń
  • Zawsze zwraca wartość
  • Sprawdza, czy obietnica powraca, a jeśli nie, JavaScript automatycznie owija ją z obietnicą, jaką rozwiązuje tę wartość

Składnia funkcji asynchronicznej

Składnia Funkcja asynchroniczna następująco:

Nazwa funkcji async ([param1 [, param2 [,… param3]]])
sprawozdania

Tutaj nazwa reprezentuje nazwę funkcji, paramenty reprezentują nazwę parametrów, które mają być przekazane w funkcji, a instrukcje zawierają ciało funkcji i jedno lub więcej wyrażeń oczekiwanych w ramach funkcji asynchronicznej.

Prosty przykład funkcji asynchronicznej

const getData = async () =>
var data = "Hello World";
Dane zwrotne;

otrzymać dane().Następnie (dane => konsola.log (dane));

Rzućmy okiem na inny przykład:

Funkcja async foo ()
czekać 1;

Powyższa funkcja jest równoważna następującej funkcji:

funkcja foo ()
Zwrot obietnicy.Resolve (1).Następnie (() => Undefined)

Powyższy przykład reprezentuje, że kod po każdym wyrażeniu może być w zwrotce i.mi .Następnie. Dzięki funkcjom łańcuch obietnicy jest automatycznie konstruowany krok po kroku na każdym etapie ponownego wejścia. Wartość zwracana tworzy ostatni krok w łańcuchu.

Jak korzystać z oczekiwania w JavaScript

Celem wyrażenia oczekiwania jest czekanie na JavaScript przed wynikami powrotu obietnicy. Należy zauważyć, że będzie to tylko w kolejce do asynchronicznego bloku funkcji, a nie wykonanie całego programu.

Funkcje funkcji oczekiwania

  • Może być używane tylko w asynchronicznych blokach.
  • Sprawia, że ​​kod czeka na obietnicę zwrotu wyniku.
  • Tylko bloki asynchroniczne będą czekać.

Składnia funkcji oczekiwania

Składnia wyrażenia oczekiwania jest następująca:

[rv] = czekaj [wyrażenie]

Tutaj oczekiwanie reprezentuje jakąkolwiek wartość, na którą należy czekać lub obiecać, RV zwraca wartość, jeśli nie ma obietnicy, lub zwraca oczekiwaną wartość obietnicy.

Prosty przykład oczekiwania wyrażenia

const getData = async =>
var y = oczekiwanie „hello świat”;
konsola.ociężały);

konsola.log (1);
otrzymać dane();
konsola.log (2);

JavaScript Wykonuje kod sekwencyjnie.

W powyższym przykładzie widzimy, że konsola.Log (1) został wydrukowany najpierw zgodnie z oczekiwaniami. Po tym funkcja getdata () nazywano to miejsce, w którym zainicjowaliśmy zmienną o nazwie y i użyliśmy w niej słowa kluczowego oczekiwania.

Czeki kluczowe spowoduje zatrzymanie lub zatrzymanie kodu w tym wierszu, w którym napisaliśmy „Hello World”. Nie pozwoli na wykonanie dalszego kodu, dopóki wywołanie funkcji asynchronicznej nie zwróci wyniku. Wyśle to zadanie do kolejki zadań, a następne wiersze kodu zaczną działać.

W następnym wierszu po wywołaniu funkcji otrzymać dane() Konsoli rejestrujemy 2 do okna konsoli. Dlatego widzieliśmy 2 wcześniej „Witaj świecie".

Teraz po tym, kiedy Funkcja wywołania asynchronicznego Zwraca wynik tylko wtedy, że kod wznowi się ponownie, a zatem widzimy „Witaj świecie”Na końcu okna konsoli.

Wniosek

Funkcje asynchroniczne i oczekiwania są świetnym sposobem obsługi kodu asynchronicznego w JavaScript, ponieważ zapewniają jasną i zwięzłą składnię. W tym poście zbadaliśmy koncepcję funkcji asynchronizacji/oczekiwania w JavaScript. W pierwszej połowie artykułu zbadaliśmy, jakie są funkcje asynchroniczne/oczekiwania. Następnie badaliśmy ich funkcje i składnię wraz z przykładami.