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
Category
Async / Promises
20 Exercises