# 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包起來