Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript setTimeout () metódust.
A setTimeout()
módszer a megadott idő után végrehajt egy kódblokkot. A módszer csak egyszer hajtja végre a kódot.
A JavaScript setTimeout általánosan használt szintaxisa:
setTimeout(function, milliseconds);
Paraméterei a következők:
- function - kódblokkot tartalmazó függvény
- ezredmásodperc - az az idő, amely után a függvény végrehajtásra kerül
A setTimeout()
módszer egy intervalID értéket ad vissza , amely pozitív egész szám.
1. példa: Szöveg megjelenítése 3 másodperc után egyszer
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');
Kimenet
Ez az üzenet jelenik meg először a Hello világban
A fenti programban a setTimeout()
módszer 3000 milliszekundum ( 3 másodperc) greet()
után hívja meg a függvényt .
Ezért a program 3 másodperc után csak egyszer jeleníti meg a Hello world szöveget .
Megjegyzés : A setTimeout()
módszer akkor hasznos, ha egy idő után egyszer végre akar hajtani egy blokkot. Például egy üzenet megjelenítése a felhasználónak a megadott idő után.
A setTimeout()
módszer visszaadja az intervallum id-jét. Például,
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId);
Kimenet
Id: 3 Helló világ
2. példa: Megjelenítési idő 3 másodpercenként
// program to display time every 3 seconds function showTime() ( // return new date and time let dateTime= new Date(); // returns the current local time let time = dateTime.toLocaleTimeString(); console.log(time) // display the time after 3 seconds setTimeout(showTime, 3000); ) // calling the function showTime();
Kimenet
17:45:39 5:45:43 17:45:47 17:45:50 17:45:50…
A fenti program 3 másodpercenként megjeleníti az időt .
A setTimeout()
módszer csak egyszer hívja meg a funkciót az időintervallum után (itt 3 másodperc).
A fenti programban azonban, mivel a funkció hívja magát, a program 3 másodpercenként megjeleníti az időt .
Ez a program korlátlan ideig fut (amíg a memória el nem fogy).
Megjegyzés : Ha egy funkciót többször is végre kell hajtania, jobb, ha a setInterval()
módszert használja .
JavaScript clearTimeout ()
Amint a fenti példában láthattad, a program végrehajt egy kódblokkot a megadott időintervallum után. Ha le akarja állítani ezt a függvényhívást, használhatja a clearTimeout()
módszert.
A clearTimeout()
módszer szintaxisa :
clearTimeout(intervalID);
Itt intervalID
a setTimeout()
módszer visszatérési értéke .
3. példa: Használja a clearTimeout () metódust
// program to stop the setTimeout() method let count = 0; // function creation function increaseCount()( // increasing the count by 1 count += 1; console.log(count) ) let id = setTimeout(increaseCount, 3000); // clearTimeout clearTimeout(id); console.log('setTimeout is stopped.');
Kimenet
A setTimeout leállt.
A fenti programban a setTimeout()
módszer 3 másodperc múlva növeli a számlálás értékét. A clearTimeout()
metódus azonban leállítja a metódus függvényhívását setTimeout()
. Ezért a számlálási érték nem növekszik.
Megjegyzés : Általában akkor használja a clearTimeout()
módszert, ha meg kell szakítania a setTimeout()
metódus hívását, mielőtt az megtörténne.
További argumentumokat is átadhat a setTimeout()
metódusnak. A szintaxis a következő:
setTimeout(function, milliseconds, parameter1,… .paramenterN);
Ha át paraméterek a setTimeout()
módszer, ezek a paraméterek ( parameter1
, parameter2
stb) kerül átadásra a megadott funkciót .
Például,
// program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');
Kimenet
Szia John Doe
A fenti programban két paramétert adunk át John
és Doe
adjuk át a setTimeout()
módszernek. Ez a két paraméter azok az argumentumok, greet()
amelyeket a setTimeout()
metódusban definiált függvénynek (itt, függvény) továbbítunk .
Ajánlott olvasmány: JavaScript async () and wait ()