# 2621. Sleep
###### tags:`Promise` | `leetCode`
<font color="#01AE9A" background="E1F3F0">`easy`</font>
### 題目
Given a positive integer millis, write an asyncronous function that sleeps for millis milliseconds. It can resolve any value.
### Example
```javascript=
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
});
```
```javascript=
Input: millis = 200
Output: 200
Explanation: It should return a promise that resolves after 200ms.
```
---
### 解題邏輯
這題要我們回傳一個 promise,而 promise如果成功要做的事是在_毫秒後,所以理論上就是 promise 裡setTimeout,設定_毫秒後執行resolve
```javascript=
async function sleep(millis) {
return new Promise(function(res,rej){
try{
setTimeout(res, millis);
}catch(err){
rej(err)
}
})
}
```
promise 因為有可能成功或失敗,因此用 try catch包起來