Exercise 1: Sleep (delay)

Problem Statement

Create a function `sleep(ms)` that resolves after ms milliseconds.

Sample Output:

await sleep(1000) => (resolves after 1 second)
await sleep(500) => (resolves after 0.5 seconds)

Solution

const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

Explanation

Overall Goal:

  • Delay create karna: code ko kuch time wait karana.
  • Promise-based delay (async/await compatible).

Single Line Solution:

  • const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

Part 1: Promise creation

  • new Promise((r) => ...)
  • Promise constructor: ek Promise object banata hai.
  • r → resolve function (Promise ko success me convert karta hai).

Part 2: Delay setup

  • setTimeout(r, ms)
  • setTimeout → delay ke baad function execute karta hai.
  • r → resolve function ko call karega (Promise complete).
  • ms → milliseconds to wait.

How it works:

  • await sleep(1000) → 1 second wait → Promise resolve.
  • sleep(500).then(() => ...) → 0.5 second baad callback.

Real world:

  • Loading states: "Please wait..." messages.
  • Retry delays: failed requests ke baad wait karna.
  • Animations: smooth transitions ke liye delay.

Navigation

Previous

No previous exercise

Next

Exercise 2

View All Categories