Open In App

setTimeout() in JavaScript

Last Updated : 29 Nov, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

The setTimeout() function is used to add delay or scheduling the execution of a specific function after a certain period. It’s a key feature of both browser environments and Node.js, enabling asynchronous behavior in code execution.

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

Output

Hello, world!

Syntax

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

Parameters

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

1. Cancellation the setTimeout() Function

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

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");

Output
Timeout canceled

2. Purpose of setTimeout() Function

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.

console.log("Start");

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

console.log("End");

Output

Start
End
Delayed log after 2000 milliseconds

Explanation

  • The setTimeout() function takes two parameters: a callback function and a time delay in milliseconds.
  • In the example, after the initial “Start” and “End” logs, the setTimeout() is set to execute the callback function (delayed log) after 2000 milliseconds (2 seconds).
  • The rest of the code continues executing without waiting for the delay, demonstrating the asynchronous nature of setTimeout().
  • After the specified delay, the callback function is invoked, resulting in the “Delayed log after 2000 milliseconds” message being logged to the console.

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.

Next Article

Similar Reads

three90RightbarBannerImg