

In this article, I explain how to use setTimeout(), including how you can use it to make a sleep function that will cause JavaScript to pause execution and wait between successive lines of code. The problem arises from misunderstanding setTimeout() as a sleep() function, when it actually works according to its own set of rules. You may have tried it at some point in a JavaScript loop and seen that setTimeout() seems to not work at all. Unfortunately, setTimeout() does not work quite as you might expect, depending on how you use it. “The setTimeout() method of the WindowOrWorkerGlobalScope mixin (and successor to tTimeout()) sets a timer which executes a function or specified piece of code once the timer expires.” - MDN Docs Also, many sleep () solutions are only for Windows or only for Linux. There’s no sleep() method in JavaScript, so you try to use the next best thing, setTimeout(). Existing sleep () solutions use a blocking while loop which uses 100 CPU. Let’s say you want to log three messages to Javascript’s console, with a delay of one second between each one.


“In computing, sleep is a command in Unix, Unix-like and other operating systems that suspends program execution for a specified time.” - Wikipedia
