How to Wait in JavaScript

How to wait in JavaScript? It’s a common question that many developers have. In this blog post, we’ll explore different ways to wait in JavaScript, including using setTimeout, setInterval, and promises.

Checkout this video:


In JavaScript, there are a few different ways to wait for something to happen.setTimeout() and setInterval() are the most commonly used methods, but there are a few others as well. In this article, we’ll take a look at all of the different ways to wait in JavaScript, and when each one should be used.

setTimeout() is the simplest way to wait in JavaScript. It takes two arguments – a function to execute, and a time in milliseconds to wait. It returns an ID that can be used to cancel the timeout.

setInterval() is similar to setTimeout(), but it repeats the function at intervals instead of just once. It also takes two arguments – a function to execute, and a time in milliseconds to wait between executions. It returns an ID that can be used to cancel the interval.

requestAnimationFrame() is another way to wait for something to happen. It takes a function as an argument, and executes that function just before the browser’s next repaint. This means that it’s useful for things like animating elements on the screen. It doesn’t take a time argument like setTimeout() and setInterval(), so it can’t be used for things like delays or repeating actions.

Promises are a more recent addition to JavaScript, and provide an elegant way of dealing with asynchronous actions. They’re often used with APIs that involve promises, such as fetch(). We won’t be covering promises in this article, but they’re definitely worth checking out if you’re interested in asynchronous programming in JavaScript.

The setTimeout() Method


The syntax of the setTimeout() method is:
setTimeout(function, milliseconds, param1, param2, …)
function is the function you want to execute after a delay.
milliseconds is the number of milliseconds (from 0 to infinity) to wait before calling the function.
param1, param2, … are optional parameters that will be passed to the function.
For example, you can use setTimeout() to call a function after a specified time has elapsed:
function myFunction() {

setTimeout(myFunction, 3000); // Will alert “Hello” 3 seconds later


Here are some examples of using setTimeout().

Example 1
This example will write “Hello” in the document and then wait 2 seconds before writing “World”.

setTimeout(function(){ document.write(“Hello”); }, 2000);
setTimeout(function(){ document.write(“World”); }, 1000);
Example 2
This example will create a link that is clicked 3 times and then removed. Every time the link is clicked, the time until it is removed is doubled.

var timeleft = 6;
var downloadTimer = setInterval(function(){
if(timeleft <= 0){ clearInterval(downloadTimer); document.getElementById("countdown").innerHTML = "Finished" } else { document.getElementById("countdown").innerHTML = timeleft + " seconds remaining"; } timeleft -= 1; }, 1000); ```

The setInterval() Method


The syntax of the setInterval() method is as follows:

setInterval(function, milliseconds, param1, param2, …);

The function is a reference to the function to be executed. The function can be an anonymous function. For example:
setInterval(function(){ alert(“Hello”); }, 3000); // Function ($(“p”).hide();) is executed every 3 seconds.
Or a named function:
function myFunction() { // Function is called every 3 seconds (3000 milliseconds). alert(“Hello”); } setInterval(myFunction, 3000);



setInterval() method can be written without the window prefix.

The setInterval() method calls a function or evaluates an expression at specified intervals (in milliseconds).

The setInterval() method will continue calling the function until clearInterval() is called, or the window is closed.

The ID value returned by setInterval() is used as the parameter for the clearInterval() method.


In conclusion, waiting in JavaScript can be accomplished by using either setTimeout or setInterval. In order to use either of these methods, you must first understand the concept of time in JavaScript, which is based on milliseconds. Once you have a understanding of time in JavaScript, you can then begin to use either setTimeout or setInterval to wait for a specific amount of time.

Scroll to Top