setTimeout(), setInterval() in JavaScript

In JavaScript, setTimeout() and setInterval() are functions used to execute code after a specified delay or at regular intervals, respectively. They are part of the browser’s Web APIs and are commonly used for implementing asynchronous behavior and scheduling tasks. Here’s how they work:

setTimeout() Function:

The setTimeout() function is used to execute a piece of code (a function or an expression) after a specified delay, measured in milliseconds.

setTimeout(() => {
  console.log('Delayed code executed after 2000 milliseconds');
}, 2000);

In the above example, the code inside the arrow function will be executed after a delay of 2000 milliseconds (2 seconds).

setInterval() Function:

The setInterval() function is used to repeatedly execute a piece of code (a function or an expression) at specified intervals, measured in milliseconds.

let intervalId = setInterval(() => {
  console.log('Repeated code executed every 1000 milliseconds');
}, 1000);

In the above example, the code inside the arrow function will be executed repeatedly every 1000 milliseconds (1 second). The setInterval() function returns an interval ID that can be used to cancel the interval later using the clearInterval() function.

Cancelling a Timeout or Interval:

You can cancel a timeout or interval using the clearTimeout() and clearInterval() functions, respectively. These functions take the timeout ID or interval ID returned by setTimeout() or setInterval().

let timeoutId = setTimeout(() => {
  console.log('This code will never be executed');
}, 2000);

// Cancel the timeout
clearTimeout(timeoutId);

let intervalId = setInterval(() => {
  console.log('This code will never be executed repeatedly');
}, 1000);

// Cancel the interval
clearInterval(intervalId);

setTimeout() and setInterval() are powerful tools for implementing asynchronous behavior and scheduling tasks in JavaScript, but they should be used judiciously and with consideration for performance and efficiency.