Przed rozpoczęciem
Zanim zaczniesz budować funkcję snu, musisz zrozumieć, że funkcja Settimeout () nie działa, jeśli oczekujesz, że zatrzyma wykonanie. Wielu programistów i programistów próbuje korzystać z funkcji z pętlami, ale zawodzi, ponieważ funkcja Settimeout () służy do oczekiwania na określony czas, a następnie uruchamia podaną funkcję. Możesz jednak użyć funkcji Settimeout (), aby zbudować funkcję snu za pomocą obietnicy, jeśli Twoim celem jest zatrzymanie wykonania przez pożądany czas.
Korzystanie z funkcji snu
Zatem wykonamy niestandardową funkcję snu, w której funkcja otrzyma czas w milisekundach jako argument i zwróci obietnicę. Obietnica będzie zawierać funkcję Settimeout (), która przekroczy Resolver jako funkcję i czas w milisekundach do funkcji Settimeout (). W końcu funkcja snu powinna wyglądać tak:
Funkcja snu (MS)A teraz, gdziekolwiek chcesz użyć tej funkcji snu, możesz go łatwo użyć.
Teraz użyjemy tej funkcji snu w kilku przykładach, aby pokazać, jak ją używać w praktyce.
Najpierw spróbujemy pocieszyć trochę tekstu i wywołać funkcję snu. Ponieważ funkcja snu zwraca obietnicę, stawiamy po niej funkcję, w której pocieszamy trochę tekstu i przekazamy argument „5000” do funkcji snu. Po uruchomieniu programu zobaczysz w konsoli, że będzie spał przez 5 sekund.
konsola.Log („Funkcja snu będzie czekać na 10 sekund, a następnie wydrukuje„ Done ””);Możesz być świadkiem opóźnienia 5 sekund, aby dostać się do statusu „gotowego” w konsoli.
Załóżmy, że chcemy wykonać animację na co 2 sekundy. Aby to zrobić, po prostu napiszemy asynchroniczną funkcję animacji, w której coś animuje.
Animacja funkcji async (MS)Po napisaniu funkcji animacji asynchronicznej możemy teraz wywołać funkcję animacji.
Animacja (2000);Po uruchomieniu kodu zobaczysz w konsoli, że tekst „animacja po 2 sekundach” powtarza co dwie sekundy.
Wniosek
W tym artykule pokazano, jak wykonać niestandardową funkcję snu, a także wiele demonstracji. Mam nadzieję, że ten artykuł pomógł ci lepiej zrozumieć korzystanie z funkcji snu. Możesz dowiedzieć się więcej o JavaScript w Linuxhint.com.