Come pianificare le attività tramite setTimeout e setInterval in JavaScript

Come pianificare le attività tramite setTimeout e setInterval in JavaScript

JavaScript fornisce un paio di metodi integrati per la pianificazione del tempo come il metodo "setTimeout ()" e il metodo "setInterval ()". Questi metodi vengono utilizzati per la pianificazione delle attività, il metodo "setTimeout ()" esegue una funzione una sola volta al momento pianificato ma il metodo "setInterval ()" invoca ripetutamente una funzione dopo l'attesa specificata.

Metodo setInterval () in JavaScript

JavaScript offre un metodo setInterval () che ci consente di invocare ripetutamente una funzione. Ci vogliono due parametri uno per invocare la funzione e il secondo parametro è per il momento. IL "SetInterval ()" Può prendere parametri aggiuntivi e passarli alla funzione di callback.

Considereremo un esempio per comprendere il metodo di funzionamento del setInterval ():

Sia numero = 0;
Sia numero = 0;
funzione quadra ()
numero ++;
seq = numero*numero;
console.log ("Il numero è uguale:", numero);
console.log ("quadrato del numero:", seq);

setInterval (Square, 3000);

In questo esempio, scriviamo un codice per stampare il quadrato di qualsiasi numero positivo. Come dobbiamo chiamare ripetutamente la funzione quadrata, quindi utilizziamo il "SetInterval ()" metodo. Il codice stamperà il quadrato di ciascun numero positivo dopo il ritardo di 3 secondi:

Come funziona SetInterval

Inizialmente, abbiamo creato una funzione "piazza( )" e all'interno del "piazza( )" funzione Abbiamo scritto il codice per stampare il quadrato di qualsiasi numero. Successivamente, invochiamo il "piazza( )" funzione usando il "SetInterval ()" metodo. Ora cosa succederà? Inizierà una catena:

  • Attendere 3 secondi, incrementare il numero e stampare il quadrato di quel numero,
  • E di nuovo attendere 3 secondi, quindi incrementare il numero e stampare il quadrato di quel numero.
  • Il metodo "setInterval ()" stamperà ripetutamente il quadrato di ciascun numero e non lo farà.

Metodo setTimeout () in JavaScript

In JavaScript, il metodo "setTimeout ()" ci consente di eseguire qualsiasi funzione dopo il tempo specificato una volta. Ci vogliono due parametri uno per invocare la funzione e il secondo parametro è per il momento. Consideriamo lo stesso esempio e applichiamo "SetTimeout ()" metodo e osservare la differenza:

Sia numero = 0;
funzione quadra ()
numero ++;
seq = numero*numero;
console.log ("Il numero è uguale:", numero);
console.log ("quadrato del numero:", seq);

setTimeout (Square, 3000);

Di conseguenza, invocherà la funzione quadrata solo una volta, il che significa che stamperà il quadrato di un solo numero:

Come funziona SetInterval

Se invochiamo il "piazza( )" funzione usando il "SetTimeout ()" Metodo, ora cosa accadrà?

  • Quando eseguiamo il codice, inizialmente, aspetterà tre secondi, quindi incrementerà il numero e stampa il quadrato di quel numero.
  • Ma questa volta non invocherebbe di nuovo il metodo "Square ()" perché "SetTimeout ()" chiama la funzione solo una volta e, di conseguenza, otterremo il quadrato di un solo numero.

Nota:

Non possiamo chiamare la funzione nel metodo "setTimeout ()" o nel metodo "setInterval ()", scriveremo solo il nome della funzione se lo facciamo, questi metodi non funzionerebbero correttamente, l'output sarà Stampato senza alcun ritardo:

setTimeout (Square, 3000); // Sintassi corretta
setTimeout (Square (), 3000); // Sintassi errata
setInterval (Square, 3000); // Sintassi corretta
setInterval (Square (), 3000); // Sintassi errata

In questo codice, abbiamo scritto sia la sintassi corretta che quella errata per il metodo "setTimeout ()" e il metodo "setInterval ()"

Conclusione

JavaScript fornisce alcuni metodi integrati utilizzati per eseguire un po 'di codice basato su un timer. Queste funzioni offrono funzionalità diverse, ad esempio la funzione "setTimeout ()" esegue qualsiasi funzione solo una volta mentre il metodo "setInterval ()" esegue qualsiasi funzione in modo ricorsivo. Questo articolo fornisce una panoramica dei metodi "setTimeout" e "setInterval ()" con l'aiuto di alcuni esempi.