How to Make your Functions Sleep in JavaScript

How to Make your Functions Sleep in JavaScript

JavaScript does not have an inbuilt sleep function but thanks to the introduction of promises and async/await, we can implement such sleep in JavaScript. In this tutorial, you'll see How to Make your Functions Sleep in JavaScript

JavaScript does not have an inbuilt/native sleep function, but thanks to the introduction of promises (and async/await in ES2018), we can implement such features in an evident and precise way, to make your functions sleep.

JavaScript sleep

To make your functions sleep in JavaScript, use the combination of setTimeout() and Promise to delay your function execution in your intentional way.

Syntax

const sleep = (milliseconds) => {
  return new Promise(resolve => setTimeout(resolve, milliseconds))
}

In this example, we are creating a sleep() function that takes *milliseconds *as a parameter.

The sleep function will create a new Promise that will resolve in given milliseconds, so until that, the execution will be paused. After resolving, it will start to continue the execution.

Example

// app.js

const sleep = (milliseconds) => {
  return new Promise(resolve => setTimeout(resolve, milliseconds))
}

const list = [1, 2, 3, 4, 5]
const task = async () => {
  for (const item of list) {
    await sleep(1000);
    console.log('Yello, D\'oh');
  }
}

task();

In this example, first, we have defined a sleep function. We will call the sleep() function when we need to sleep the specific function.

Now, in our code, that specific function is the task(). *So, we will use *sleep() *function in *task() function to sleep. 

Here, we used async-await because sleep() will return the promise. The word “async” before a function means one simple thing: a function always returns a promise. 2. The keyword “await” makes JavaScript wait until that promise settles and returns its result.

We defined an array list that can be helpful to create a loop.

The task() function logs the Yello, D’oh value one by one within the gap of 1 second. So, for one second, the function goes to sleep, and after the promise is resolved, it will log the next time the same string, and then again, goes to sleep for 1 second, and so on.

javascript

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

The essential JavaScript concepts that you should understand

The essential JavaScript concepts that you should understand - For successful developing and to pass a work interview

JavaScript Memory Management System

The main goal of this article is help to readers to understand that how memory management system performs in JavaScript. I will use a shorthand such as GC which means Garbage Collection. When the browsers use Javascript, they need any memory location to store objects, functions, and all other things. Let’s deep in dive that how things going to work in GC.

Grokking Call(), Apply() and Bind() Methods in JavaScript

In this article, we will have a look at the call(), apply() and bind() methods of JavaScript. Basically these 3 methods are used to control the invocation of the function.

JavaScript Tutorial: if-else Statement in JavaScript

This JavaScript tutorial is a step by step guide on JavaScript If Else Statements. Learn how to use If Else in javascript and also JavaScript If Else Statements. if-else Statement in JavaScript. JavaScript's conditional statements: if; if-else; nested-if; if-else-if. These statements allow you to control the flow of your program's execution based upon conditions known only during run time.

Top 15 Free JavaScript Frameworks for Web Applications

List of some useful JavaScript Frameworks and libraries for website, web apps, and mobile apps development, that developers should know about to make selection easier.