„Javascript setTimeout“ ()

Šioje pamokoje su pavyzdžių pagalba sužinosite apie „JavaScript setTimeout ()“ metodą.

setTimeout()Metodas atlieka kodo bloką po nurodyto laiko. Metodas kodą vykdo tik vieną kartą.

Dažniausiai naudojama „JavaScript setTimeout“ sintaksė yra:

 setTimeout(function, milliseconds);

Jo parametrai yra:

  • funkcija - funkcija, turinti kodo bloką
  • milisekundės - laikas, po kurio funkcija yra vykdoma

setTimeout()Metodas grąžina intervalID , kuris yra teigiamas sveikas skaičius.

1 pavyzdys: Rodyti tekstą kartą po 3 sekundžių

 // program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');

Rezultatas

Šis pranešimas rodomas pirmiausia  Sveikas pasaulis

Ankstesnėje programoje setTimeout()metodas iškviečia greet()funkciją po 3000 milisekundžių ( 3 sekundės).

Taigi programa „Hello world“ tekstą rodo tik vieną kartą po 3 sekundžių.

Pastaba : setTimeout()metodas yra naudingas, kai norite vieną kartą po kurio laiko atlikti bloką. Pavyzdžiui, rodyti pranešimą vartotojui po nurodyto laiko.

setTimeout()Metodas grąžina intervalo ID. Pavyzdžiui,

 // program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId); 

Rezultatas

 Id: 3 Sveikas pasauli

2 pavyzdys: rodymo laikas kas 3 sekundes

 // 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();

Rezultatas

 17:45:39 5:45:43 PM 17:45:47 17:45:50 PM… 

Pirmiau nurodyta programa rodo laiką kas 3 sekundes.

setTimeout()Metodas reikalauja funkciją tik tada, kai po laiko intervalo (čia 3 sekundžių).

Tačiau pirmiau minėtoje programoje, kadangi funkcija skambina pati, programa rodo laiką kas 3 sekundes.

Ši programa veikia neribotą laiką (kol baigsis atmintis).

Pastaba : jei jums reikia kelis kartus vykdyti funkciją, geriau naudoti setInterval()metodą.

„JavaScript clearTimeout“ ()

Kaip matėte aukščiau pateiktame pavyzdyje, programa įvykdo kodo bloką po nurodyto laiko intervalo. Jei norite sustabdyti šios funkcijos iškvietimą, galite naudoti clearTimeout()metodą.

clearTimeout()Metodo sintaksė yra:

 clearTimeout(intervalID);

Čia intervalIDyra setTimeout()metodo grąžinimo vertė .

3 pavyzdys: naudokite „clearTimeout“ () metodą

 // 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.');

Rezultatas

 „setTimeout“ sustabdytas.

Pirmiau pateiktoje programoje setTimeout()metodas naudojamas skaičiaus vertei padidinti po 3 sekundžių. Tačiau clearTimeout()metodas sustabdo metodo funkcijos iškvietimą setTimeout(). Taigi skaičiaus vertė nedidėja.

Pastaba : Paprastai clearTimeout()metodą naudojate, kai jums reikia atšaukti setTimeout()metodo iškvietimą, kol jis neįvyksta.

Taip pat galite perduoti setTimeout()metodui papildomų argumentų . Sintaksė yra:

 setTimeout(function, milliseconds, parameter1,… .paramenterN);

Kai setTimeout()metodui perduosite papildomus parametrus , šie parametrai ( parameter1, parameter2ir kt.) Bus perduodami nurodytai funkcijai .

Pavyzdžiui,

 // program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');

Rezultatas

 Sveiki, John Doe

Pirmiau programą, du parametrai Johnir Doeyra perduodami į setTimeout()metodą. Šie du parametrai yra argumentai, kurie bus perduoti funkcijai (čia, greet()funkcija), apibrėžtai setTimeout()metodo viduje .

Rekomenduojamas skaitymas: „ JavaScript“ asinchronizuokite () ir laukite ()

Įdomios straipsniai...