Timer (setTimeout, setInterval)
setTimeout, setInterval, clearTimeout e clearInterval
In JavaScript possiamo programmare l'esecuzione di funzioni con un ritardo o a intervalli regolari. Con setTimeout una funzione viene eseguita una sola volta dopo un certo tempo, con setInterval viene eseguita ripetutamente a intervalli fissi. Per fermare queste operazioni si usano clearTimeout e clearInterval, che annullano rispettivamente un timeout o un intervallo già avviato.
setTimeout
setTimeout() permette di eseguire un'operazione una sola volta dopo un determinato intervallo di tempo (espresso in millisecondi).
Codice Esempio: setTimeout
console.log("Inizio");
setTimeout(() => {
console.log("Messaggio dopo 2 secondi");
}, 2000);
console.log("Fine");
setInterval
setInterval() permette di ripetere l'esecuzione di un'operazione ogni determinato intervallo di tempo (in millisecondi). L'esecuzione continua finché non viene interrotta con clearInterval().
Codice Esempio: setInterval
let contatore = 1;
let timer = setInterval(() => {
console.log("Esecuzione numero " + contatore);
contatore++;if (contatore > 5) {
clearInterval(timer);
console.log("Intervallo fermato");
}}, 1000);
clearTimeout e clearInterval
Entrambe le funzioni restituiscono un identificativo numerico (id). Questo id può essere usato per fermare l’esecuzione con clearTimeout() o clearInterval().
Codice Esempio: clearTimeout
let id = setTimeout(() => {
console.log("Questo non verrà mai eseguito");
}, 3000);
clearTimeout(id);
Tabella riassuntiva
| Funzione | Descrizione | Esempio sintetico |
|---|---|---|
| setTimeout() | Esegue un'operazione una sola volta dopo un intervallo | setTimeout(fn, 2000) |
| setInterval() | Ripete l'operazione a intervalli regolari | setInterval(fn, 1000) |
| clearTimeout() | Interrompe un setTimeout programmato | clearTimeout(id) |
| clearInterval() | Interrompe un setInterval attivo | clearInterval(id) |
Considerazioni
I metodi setTimeout e setInterval sono strumenti fondamentali per gestire azioni temporizzate in JavaScript. È importante ricordare che, sebbene un timer venga interrotto automaticamente alla chiusura o al cambio di pagina, in molti casi è utile fermarlo manualmente con clearTimeout o clearInterval. Questo permette di evitare esecuzioni indesiderate, ottimizzare le prestazioni e mantenere un controllo preciso del flusso del programma.

IP: 216.73.216.214