Internet JavaScript: sen i setTimeout

czasami, jako programista, znajdujesz się w sytuacji, w której chcesz, aby wykonanie programu zostało przerwane na krótki czas. W tym celu istnieją różne możliwości w różnych językach programowania. W JavaScript, począwszy od ES6, pojawiła się możliwość wykorzystania obietnic w tym celu.

  • zaimplementuj funkcję uśpienia
  • Uruchom funkcję opóźnienia

zaimplementuj funkcję uśpienia

aby wstrzymać działanie na kilka sekund w JavaScript, wystarczy zdefiniować dla siebie małą funkcję pomocniczą. Funkcja Sleep zwraca obiekt obietnicy, którego stan jest ustawiony na resolved po wymaganym czasie w milisekundach.
function Sleep(milliseconds) {
return new Promise(resolve => setTimeout(resolve, milliseconds));
}
teraz, jeśli chcesz korzystać z tej funkcji, musisz oznaczyć swoją funkcję słowem kluczowym async. Bez async nie można używać polecenia oczekuj. Przykładowa aplikacja pokazuje następującą funkcję:
async function test() {
console.log("Vor der sleep-Funktion");
await Sleep(3000); // Pausiert die Funktion für 3 Sekunden
console.log("Nach der Sleep Funktion");
}
funkcja wywołuje funkcję uśpienia. Za pomocą await wykonanie funkcji zatrzymuje się na określony czas. Bez await funkcja będzie nadal działać, ponieważ nie będzie czekać na rozwiązanie obiektu obietnicy zwróconego przez Sleep.

Uruchom funkcję z opóźnieniem

aby uruchomić funkcję po pewnym okresie oczekiwania, istnieje funkcja setTimeout. W setTimeout przekazujesz wykonaną funkcję wywołania zwrotnego zwaną funkcją wywołania zwrotnego. Ta funkcja zostanie wykonana po określonym czasie. Zdefiniuj więc dla siebie funkcję, którą chcesz wywołać:
function callback() {
console.log("Callback Funktion wird aufgerufen");
}

teraz możesz użyć setTimeout, aby wywołać właśnie utworzoną funkcję z określonym opóźnieniem. Należy jednak zauważyć, że kolejny kod jest wykonywany bez oczekiwania:
setTimeout(callback, 3000); //Ruft die Callback-Funktion nach 3 Sekunden auf
console.log("Test"); //Wird sofort, ohne Wartezeit ausgeführt

alternatywnie można również przekazać wyrażenie funkcji jako argument do setTimeout. W ten sposób można również wywołać setTimeout w następujący sposób:
setTimeout(function() {
console.log("Callback Funktion wird aufgerufen");
}, 3000);
zaletą tego jest to, że nie ma potrzeby definiowania nowej funkcji i natychmiast zobaczysz, który blok kodu uruchamia się po opóźnieniu.

Zwrotna opinii do podpowiedzi
Zwrotna opinii do podpowiedzi

Zwrotna opinii do podpowiedzi Zwrotna opinii do podpowiedzi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

More: