Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
Sleep in JavaScript delay between actions?
To create a sleep or delay in JavaScript, use setTimeout() for simple delays or async/await with Promises for more control. JavaScript doesn't have a built-in sleep function like other languages.
1000 milliseconds = 1 second 2000 milliseconds = 2 seconds, etc.
Using setTimeout() for Delays
setTimeout() executes a function after a specified delay. Here's an example with a 3-second delay:
console.log("Starting calculation...");
setTimeout(function() {
var firstValue = 10;
var secondValue = 20;
var result = firstValue + secondValue;
console.log("The result = " + result);
}, 3000);
console.log("This runs immediately");
Starting calculation... This runs immediately The result = 30
Creating a Sleep Function with Promises
For more flexible delays, create a sleep function using Promises and async/await:
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function delayedCalculation() {
console.log("Starting...");
await sleep(2000); // Sleep for 2 seconds
var firstValue = 15;
var secondValue = 25;
var result = firstValue + secondValue;
console.log("After 2 seconds, result = " + result);
await sleep(1000); // Sleep for 1 more second
console.log("Final message after another 1 second");
}
delayedCalculation();
Starting... After 2 seconds, result = 40 Final message after another 1 second
Multiple Delays Example
Here's a practical example showing multiple operations with delays:
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function processSteps() {
console.log("Step 1: Initialize");
await sleep(1000);
console.log("Step 2: Processing data...");
await sleep(1500);
console.log("Step 3: Calculation complete");
await sleep(500);
console.log("Step 4: Done!");
}
processSteps();
Step 1: Initialize Step 2: Processing data... Step 3: Calculation complete Step 4: Done!
Comparison of Methods
| Method | Use Case | Advantages |
|---|---|---|
setTimeout() |
Simple one-time delays | Built-in, straightforward |
Promise + async/await |
Multiple delays, sequential operations | More readable, better control flow |
Conclusion
Use setTimeout() for simple delays and the Promise-based sleep function with async/await for more complex scenarios. The Promise approach provides cleaner, more maintainable code for multiple delays.
Advertisements
