setTimeout() in JavaScript

Last Updated : 1 Jun, 2026

The setTimeout() method in JavaScript is used to execute a function or a piece of code after a specified time delay. It is commonly used for scheduling one-time tasks such as delayed actions, animations, or notifications.

  • Executes a function only once after the given delay (in milliseconds).
  • Does not block the execution of the rest of the code (asynchronous behavior).
  • Returns a timer ID, which can be used to cancel the timeout using clearTimeout().

Syntax

setTimeout(function, delay, arg1, arg2, ...);

Where,

  • function: After the specified time period, this is the function that is executed.
  • milliseconds: The delay time is expressed in milliseconds.
  • arg1, arg2, ...: If needed, these are the optional parameters.

Example:

JavaScript
setTimeout(function() {
    console.log('Hello, world!');
}, 2000);

Output: After 2 seconds,

Hello, world!

Purpose of setTimeout()

The setTimeout() function is utilized to introduce a delay or to execute a particular function after a specified amount of time has passed. It is part of the Web APIs provided by browsers and Node.js, allowing asynchronous execution of code.

JavaScript
console.log("Start");

setTimeout(function() {
    console.log("Delayed log after 2000 milliseconds");
}, 2000);

console.log("End");
  • setTimeout() takes a callback function and a delay in milliseconds.
  • "Start" and "End" are logged before the delayed function executes.
  • The callback runs after 2000 ms, showing the asynchronous nature of setTimeout().

Cancelling a setTimeout()

JavaScript provides a corresponding function called clearTimeout() to cancel a scheduled timeout before it gets executed.

Example:

JavaScript
function delayedFunction() {
    console.log("This won't be executed due to clearTimeout");
}

let timeoutId = setTimeout(delayedFunction, 2000);

// Cancel the setTimeout before it executes
clearTimeout(timeoutId);

console.log("Timeout canceled");

Use Cases

  • Delaying Execution: It can be used to introduce delays in code execution, useful for scenarios like animations, timed events, or deferred operations.
  • Asynchronous Operations: When combined with callback functions, it facilitates asynchronous behavior, enabling non-blocking code execution.
  • Timeouts in Web Development: It's commonly employed in web development for handling timeouts, such as showing a notification after a certain time or refreshing content.
Comment