JavaScript Timeouts
The setTimeout() Method
The setTimeout() method schedules a function to run after a delay in milliseconds.
It is an async operation used to delay code execution without freezing the browser.
Waiting for a Timeout
When using the setTimeout() method,
you can specify a function to be executed on time-out:
Example
setTimeout(myFunction, 3000);
function myFunction() {
document.getElementById("demo").innerHTML = "I love You !!";
}
In the example above, myFunction is passed to
setTimeout() as an argument.
3000 is the number of milliseconds before
myFunction will be called.
Note
When you pass a function as an argument, remember not to use parenthesis.
Right: setTimeout(myFunction, 3000);
Wrong: setTimeout(myFunction(), 3000);
Instead of passing a function name as an argument to another function, you can always pass the whole function instead:
Example
setTimeout(function() { myFunction("I love You !!!"); }, 3000);
function myFunction(value) {
document.getElementById("demo").innerHTML = value;
}
Waiting for Intervals:
When using the setInterval() method,
you can specify function to be executed for each interval:
Example
setInterval(myFunction, 1000);
function myFunction() {
let d = new Date();
document.getElementById("demo").innerHTML=
d.getHours() + ":" +
d.getMinutes() + ":" +
d.getSeconds();
}
In the example above, myFunction is passed to setInterval() as an argument.
1000 is the number of milliseconds between every time
myFunction will be called.
Next Chapter
A callback runs after another function finishes.
Callbacks were the first solution for asynchronous JavaScript.