

setTimeout () accepts time in milliseconds, so setTimeout (fn, 1000) tells JavaScript to call fn after 1 second.

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. setTimeout () method sleeping for 3 seconds If you omit the second parameter, then setTimeout () will immediately execute the passed function without waiting at all. How to Wait 1 Second in JavaScript To delay a function execution in JavaScript by 1 second, wrap a promise execution inside a function and wrap the Promise's resolve () in a setTimeout () as shown below. The problem arises from misunderstanding setTimeout() as a sleep() function, when it actually works according to its own set of rules. after encountering the same issue, I ended up on this thread. 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 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
