-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsleep.js
More file actions
36 lines (29 loc) · 839 Bytes
/
sleep.js
File metadata and controls
36 lines (29 loc) · 839 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
Given a positive integer millis, write an asynchronous function that sleeps for millis milliseconds. It can resolve any value.
Note that minor deviation from millis in the actual sleep duration is acceptable.
Example 1:
Input: millis = 100
Output: 100
Explanation: It should return a promise that resolves after 100ms.
let t = Date.now();
sleep(100).then(() => {
console.log(Date.now() - t); // 100
});
Example 2:
Input: millis = 200
Output: 200
Explanation: It should return a promise that resolves after 200ms.
Constraints:
1 <= millis <= 1000
* @param {number} millis
* @return {Promise}
*/
async function sleep(millis) {
return new Promise((resolve, _) => {
setTimeout(() => {
resolve("promise resolved");
}, millis);
});
}
let t = Date.now();
sleep(100).then(() => console.log(Date.now() - t)); // 100