Existuje mnoho situací, kdy weboví vývojáři musí čelit potřebě zpoždění při provádění určitého kódu. K vyřešení tohoto problému má JS speciální metodu zvanou setTimeout. Umožňuje nastavit časovač, který se spustí po určité prodlevě a vyvolá zadanou funkci nebo provede zadaný kód. A i když to není snadný koncept k pochopení, studium jeho práce může vývojářovi výrazně usnadnit život.
setTimeout funguje tak, že do spouštěcí fronty přidáte funkci, která bude spuštěna po nastaveném zpoždění. Ale jak přesně tento časovač funguje? Při volání setTimeout s argumenty funkce a dobou zpoždění vytvoří časovač, který čeká na určený čas, a poté umístí funkci zpětného volání do fronty událostí.
Po dokončení všech ostatních úkolů ve frontě bude JS moci konečně zpracovat funkci zpětného volání setTimeout. To se provede až poté, co budou všechny staré události zpracovány a aktuální zásobník hovorů bude prázdný. Jinými slovy, setTimeout umístí funkci na konec fronty provádění, čímž je zaručeno, že odloží její provádění na stanovenou dobu.
Javascript settimeout jak funguje
V JavaScriptu se funkce setTimeout () používá k odloženému spuštění konkrétního kódu. Umožňuje nastavit zpoždění při provádění uvedené funkce nebo přenášeného kódu.
Syntaxe funkce setTimeout() je následující:
| Parametr | Popis |
|---|---|
| func | Povinný parametr. Funkce, která má být vyvolána nebo kód, který má být spuštěn |
| delay | Povinný parametr. Zpoždění v milisekundách před provedením funkce nebo kódu |
| param1, param2, . paramN | Volitelné parametry. Možnosti, které lze převést do volané funkce |
Když je funkce setTimeout() vyvolána, přidá do spouštěcí fronty uvedenou funkci. Výkon této funkce se však odkládá na dobu uvedenou v parametru delay .
Po uplynutí dané latence bude Funkce povolána a přenesené parametry budou převedeny do volané funkce, pokud jsou zadány. Pokud funkce nemá parametry, parametry param1, param2,. paramN lze spustit ve výzvě setTimeout ().
Příklad použití funkce setTimeout() :
setTimeout(function() , 2000);
V tomto příkladu je funkce console.log () bude vyvolán 2 sekundy po spuštění kódu.
Funkce setTimeout () je užitečná, když potřebujete odložit spuštění kódu, například pro animace, zpoždění vstupu nebo aktualizaci položek na stránce. Umožňuje vám vytvořit pauzu v provádění kódu bez blokování hlavního proudu běhu.
Funkce setTimeout v JavaScriptu
Funkce setTimeout v programovacím jazyce Javascript umožňuje nastavit zpoždění při provádění určitého bloku kódu nebo volání funkce. To je velmi užitečné při vytváření animací, zpracování vlastního vstupu a dalších scénářů, kde je nutné nastavit zpoždění.
Princip funkce setTimeout je jednoduchý: přijímá dva argumenty - funkci nebo řetězec kódu, který má být spuštěn, a čas v milisekundách, kterým musí být tato funkce vyvolána.
Když je funkce setTimeout vyvolána, vloží přenesenou funkci nebo kód do spouštěcí fronty a čeká na určený čas. Po uplynutí doby bude funkce nebo kód spuštěn. Je důležité si uvědomit, že doba spuštění kódu může být o něco delší než nastavený čas, protože určitý čas je nutný ke spuštění a přepínání kontextu provádění.
Funkce setTimeout navíc vrací jedinečný identifikátor časovače. Tento identifikátor lze použít ke zrušení provádění kódu před uplynutím nastaveného času pomocí funkce clearTimeout.
Následující kód například ukazuje jednoduchý příklad použití funkce setTimeout:
V tomto příkladu bude přenesená funkce provedena 3 sekundy po vyvolání setTimeout. Na stránce najde položku s id "message" a změní její obsah na " Ahoj, svět!".