Wykonanie asynchroniczne w JavaScript

Wykonanie asynchroniczne w JavaScript
W wielu językach programowania procesy asynchroniczne są obsługiwane przez generowanie nowego wątku, który działa w tle. Jednak w JavaScript mamy koncepcję zwaną kontekstem wykonania i pętli zdarzeń, która zapobiega uruchomieniu reszty kodu. Gdy kontekst wykonania odkrywa takie bloki kodu w programie, wysyła je z powrotem do pętli zdarzenia w celu wykonania przed przywróceniem ich na stos połączeń. Istnieją trzy podstawowe typy metod kodu asynchronicznego w programowaniu JavaScript: Callback, obietnice i asynch.

W tym spisie omówi Wykonanie asynchroniczne w JavaScript. Ponadto zademonstrujemy również metody wykonywania asynchronicznego wykonania JavaScript, takie jak Oddzwonienia, Obietnice, asynchronizacja/oczekiwanie, z pomocą przykładów. A więc zacznijmy!

Oddzwonienia z asynchronicznym wykonaniem w JavaScript

Oddzwonienia są jednym z najczęstszych stylów kodowania, które wyrażają i obsługują asynchroniczne wykonanie w JavaScript. Jest to rodzaj funkcji, którą należy wywołać po zakończeniu innej funkcji. Funkcja wywołania zwrotnego jest wywoływana z odpowiedzią, gdy określona operacja zostanie zakończona. Załóżmy, że chcesz upewnić się, że określony kawałek kodu w programie JavaScript nie będzie wykonywany, dopóki drugi nie zakończy wykonania. W takim przypadku możesz osiągnąć tę funkcjonalność, wykorzystując funkcję wywołania zwrotnego.

Przykład: wywołania zwrotne z asynchronicznym wykonaniem w JavaScript

Daj nam przykład, który pomoże ci w tym, co powiedzieliśmy. Rozważ scenariusz, w którym musisz napisać ciąg do strumienia dokumentów 7 sekundy. W takim przypadku możesz użyć „settimeout ()”Wbudowana funkcja JavaScript, która ocenia wyrażenie lub wywołuje dowolną funkcję po określonym czasie. W naszym przypadku wykorzystaliśmy funkcję „Settimeout ()”, aby wywołać zdefiniowane „myFunction ()„Po 7 sekundach:




Poczekaj na 7 sekund (7000 milisekund)




Możesz wykonać powyższy przykład w swoim ulubionym edytorze kodu lub dowolnej piaskownicy kodowania online; Jednak wykorzystamy JSBIN w celu demonstracji:

Po wykonaniu dostarczonego programu JavaScript zostaniesz poproszony o poczekanie na „7 sekund”:

Po 7 sekundach ciąg „Wykonanie asynchroniczne w JavaScript”Zostanie pokazane jako wyjście:

Obietnice z asynchronicznym wykonaniem w JavaScript

Kiedy łączysz kilka połączeń funkcyjnych, jednym z głównych problemów wywoławczych jest to, że trudno jest śledzić przepływ wykonania. „„.Następnie()”Składnia w„Obietnice„Ratuje cię w takiej sytuacji, jednocześnie pozwalając ci łączyć obietnice. Umożliwia łączenie obsługi z dodatkową wartością asynchroniczną sukcesu lub przyczyną awarii. W rezultacie metody asynchroniczne będą zachowywać się podobnie do synchronicznych.

Zamiast natychmiast zapewnić ostateczną wartość, technika asynchroniczna zwraca obietnicę, która oferuje wartość, którą można wykorzystać w dalszym przetwarzaniu. Twoje obietnice mogą znajdować się w jednym z trzech stanów: w toku, spełnionym lub odrzuconym:

  • Aż do: Zanim nastąpi operacja, dodana obietnica jest w stanie oczekującym.
  • Spełniony: Spełniony stan obietnicy oznacza, że ​​dodana operacja została zakończona.
  • Odrzucony: Gdy wartość błędu jest rzucana dla niekompletnej operacji, obietnica jest zgodna z odrzuconym stanem.

Przykład: Obietnice z asynchronicznym wykonaniem w JavaScript

Aby pokazać obróbkę obietnic z asynchroniczną realizacją w JavaScript, po pierwsze, zdefiniujemy „Pokaż wiadomość()„Funkcja, która zostanie wywołana zarówno dla sukcesu, jak i porażki dodanej obietnicy:






Wykonanie powyższego kodu wyświetli następujące dane wyjściowe:

Teraz, celowo, zmienimy wartość zmiennej „A„Aby sprawdzić, czy oddzwonienie do niepowodzenia obietnicy działa, czy nie:

Jak widać, wywołanie zwrotu porażki jest wyświetlane „Napotkany błąd„Ciąg zgodnie z naszym kodowaniem programu JavaScript:

asynchronizacja/oczekiwanie z asynchronicznym wykonaniem w JavaScript

„„Async" I "czekać na„Słowa kluczowe są dodawane do najnowszej wersji JavaScript. Te słowa kluczowe ułatwiają pisanie obietnic i pozwalają użytkownikowi mieć pełną kontrolę nad sekwencją wykonania obietnic. Funkcja asynchroniczna zawsze zwraca obietnice, a funkcja oczekiwania jest wykorzystywana w funkcji asynchronicznej, aby zatrzymać wykonanie dodanej metody podczas oczekiwania na obietnicę rozwiązania. Następnie wznowi wykonanie funkcji i wyprowadzi wartość rozwiązaną.

Przykład: Async z asynchronicznym wykonaniem w JavaScript

Teraz, w tym samym przykładzie, dodamy async MyFunction (), który zwraca obietnicę:






Spójrz na dostarczony kod i jego wyjście:

Przykład: czekaj z asynchronicznym wykonaniem w JavaScript

W tym przykładzie najpierw dodamy „Async„Słowo kluczowe z definicją funkcji showMessage (), aby wyświetlić obietnicę. Po zrobieniu tego określamy „czekać na”Z stworzonym„moja obietnica„Obiekt, aby czekał na MyPromise:






Oto dane wyjściowe, które otrzymaliśmy od wykonania powyższego przykładu:

Wniosek

Oddzwonienia, obietnice i asynchroniczne/oczekiwania na słowa kluczowe to trzy metody obsługi asynchronicznego wykonywania w JavaScript. Zwroty zwrotne umożliwiają dostęp do funkcji, gdy metoda asynchroniczna zakończy wykonanie; Obietnice pomagają łączyć metodę, a słowo kluczowe asynch. W tym spisie omówiono asynchroniczne wykonanie w JavaScript. Ponadto pokazaliśmy również metody asynchronicznego wykonania, takie jak wywołanie zwrotne, obietnice, asynchronizacja/oczekiwanie w JavaScript z przykładami.