javascriptsleep

Sleep in JavaScript - delay between actions


Is there a way I can do a sleep in JavaScript before it carries out another action?

Example:

var a = 1 + 3;
// Sleep 3 seconds before the next action here.
var b = a + 4;

Solution

  • You can use setTimeout to achieve a similar effect:

    var a = 1 + 3;
    var b;
    setTimeout(function() {
        b = a + 4;
    }, (3 * 1000));
    

    This doesn't really 'sleep' JavaScript—it just executes the function passed to setTimeout after a certain duration (specified in milliseconds). Although it is possible to write a sleep function for JavaScript, it's best to use setTimeout if possible as it doesn't freeze everything during the sleep period.