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.

Updated on: 2026-03-15T23:18:59+05:30

523 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements