Programatorii folosesc evenimente de sincronizare pentru a întârzia executarea anumitor coduri sau pentru a repeta codul la un anumit interval.

Există două funcții native în biblioteca JavaScript utilizate pentru îndeplinirea acestor sarcini: setTimeout() și setInterval().

setTimeout

setTimeout() este folosit pentru a întârzia executarea funcției trecute cu o perioadă de timp specificată.

Există doi parametri la care treceți setTimeout(): funcția pe care doriți să o apelați și cantitatea de timp în milisecunde pentru a întârzia executarea funcției.

Amintiți-vă că există 1000 de milisecunde (ms) într-o secundă, deci 5000 ms este egal cu 5 secunde.

setTimeout() va executa funcția de la primul argument o dată după ce a trecut timpul specificat.

Exemplu:

let timeoutID;

function delayTimer() {
  timeoutID = setTimeout(delayedFunction, 3000);
}

function delayedFunction() {
  alert(“Three seconds have elapsed.”);
}

Cand delayTimer funcția se numește va rula setTimeout. După trecerea a 3 secunde (3000 ms), se va executa delayedFunction care va trimite o alertă.

setInterval

Utilizare setInterval() pentru a specifica o funcție de repetat cu o întârziere între execuții.

Din nou, doi parametri sunt trecuți către setInterval(): funcția pe care doriți să o apelați și cantitatea de timp în milisecunde pentru a întârzia fiecare apel al funcției.

setInterval() va continua să se execute până când este șters.

Exemplu:

let intervalID;

function repeatEverySecond() {
  intervalID = setInterval(sendMessage, 1000);
}

function sendMessage() {
  console.log(“One second elapsed.”);
}

Când codul dvs. apelează funcția repeatEverySecond va rula setInterval. setInterval va rula funcția sendMessage în fiecare secundă (1000 ms).

clearTimeout și clearInterval

Există și funcții native corespunzătoare pentru a opri evenimentele de sincronizare: clearTimeout() și clearInterval().

Este posibil să fi observat că fiecare funcție de temporizare de mai sus este salvată într-o variabilă. Când fie setTimeout sau setInterval funcția rulează, i se atribuie un număr care este salvat acestei variabile. Rețineți că JavaScript face acest lucru în fundal.

Acest număr generat este unic pentru fiecare instanță de cronometre. Acest număr atribuit este, de asemenea, modul în care sunt identificate temporizatoarele atunci când doriți să le opriți. Din acest motiv, trebuie să setați întotdeauna temporizatorul la o variabilă.

Pentru claritatea codului dvs., ar trebui să se potrivească întotdeauna clearTimeout() la setTimeout() și clearInterval() la setInterval().

Pentru a opri un cronometru, apelați funcția de ștergere corespunzătoare și transmiteți-i variabila ID temporizator care se potrivește cu cronometrul pe care doriți să îl opriți. Sintaxa pentru clearInterval() și clearTimeout() sunt la fel.

Exemplu:

let timeoutID;

function delayTimer() {
  timeoutID = setTimeout(delayedFunction, 3000);
}

function delayedFunction() {
  alert(“Three seconds have elapsed.”);
}

function clearAlert() {
  clearTimeout(timeoutID);
}