Javascript setTimeout ()

În acest tutorial, veți afla despre metoda JavaScript setTimeout () cu ajutorul exemplelor.

setTimeout()Metoda execută un bloc de cod după timpul specificat. Metoda execută codul o singură dată.

Sintaxa frecvent utilizată a JavaScript setTimeout este:

 setTimeout(function, milliseconds);

Parametrii săi sunt:

  • funcție - o funcție care conține un bloc de cod
  • milisecunde - timpul după care funcția este executată

setTimeout()Metoda returneaza un intervalID , care este un întreg pozitiv.

Exemplul 1: Afișați un text o dată după 3 secunde

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

Ieșire

Acest mesaj este afișat mai întâi  Hello world

În programul de mai sus, setTimeout()metoda apelează greet()funcția după 3000 de milisecunde ( 3 secunde).

Prin urmare, programul afișează textul Hello world o singură dată după 3 secunde.

Notă : setTimeout()Metoda este utilă atunci când doriți să executați un bloc de o dată după un timp. De exemplu, afișarea unui mesaj unui utilizator după ora specificată.

setTimeout()Metoda returneaza id - ul intervalului. De exemplu,

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

Ieșire

 Id: 3 Hello world

Exemplul 2: Afișarea timpului la fiecare 3 secunde

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

Ieșire

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

Programul de mai sus afișează timpul la fiecare 3 secunde.

setTimeout()Metoda solicită funcția doar o singură dată după intervalul de timp (aici 3 secunde).

Cu toate acestea, în programul de mai sus, deoarece funcția se apelează, programul afișează timpul la fiecare 3 secunde.

Acest program rulează la nesfârșit (până când memoria se epuizează).

Notă : Dacă trebuie să executați o funcție de mai multe ori, este mai bine să utilizați setInterval()metoda.

JavaScript clearTimeout ()

După cum ați văzut în exemplul de mai sus, programul execută un bloc de cod după intervalul de timp specificat. Dacă doriți să opriți acest apel funcțional, puteți utiliza clearTimeout()metoda.

Sintaxa clearTimeout()metodei este:

 clearTimeout(intervalID);

Aici, intervalIDeste valoarea returnată a setTimeout()metodei.

Exemplul 3: Utilizați metoda clearTimeout ()

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

Ieșire

 setTimeout este oprit.

În programul de mai sus, setTimeout()metoda este utilizată pentru a crește valoarea numărării după 3 secunde. Cu toate acestea, clearTimeout()metoda oprește apelul funcției setTimeout()metodei. Prin urmare, valoarea contorului nu este mărită.

Notă : În general, utilizați clearTimeout()metoda atunci când trebuie să anulați setTimeout()apelul metodei înainte ca aceasta să se întâmple.

De asemenea, puteți transmite argumente suplimentare setTimeout()metodei. Sintaxa este:

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

Când treci parametri suplimentari la setTimeout()metoda, acești parametri ( parameter1, parameter2etc.) vor fi transmise la specificată funcția .

De exemplu,

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

Ieșire

 Bună, John Doe

În programul de mai sus, doi parametri Johnși Doesunt transferați la setTimeout()metodă. Acești doi parametri sunt argumentele care vor fi transmise funcției (aici, greet()funcție) care este definită în interiorul setTimeout()metodei.

Lectură recomandată: JavaScript async () și await ()

Articole interesante...