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. With a while loop, the code inside of the loop body (between the. This is ideal for tasks that need to execute once before a test is made to continue, such as test that is dependant upon the results of the loop. while creates a loop that is useful for executing one section of code multiple times. This means that the code inside of the loop will iterate once through before the condition is ever evaluated. “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 In a do-while loop, the test condition evaluation is at the end of the loop. There’s no sleep() method in JavaScript, so you try to use the next best thing, setTimeout(). 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