睡眠函数 Promise异步
- 题目
- 题解
题目
请你编写一个异步函数,它接收一个正整数参数 millis
,并休眠 millis
毫秒。要求此函数可以解析任何值。
示例 1:
输入:
millis = 100
输出:100
解释:
在100ms
后此异步函数执行完时返回一个Promise
对象
let t = Date.now();
sleep(100).then(() => {
console.log(Date.now() - t); // 100
});
示例 2:
输入:
millis = 200
输出:200
解释:在200ms
后函数执行完时返回一个Promise
对象
题解
/*** @param {number} millis* @return {Promise}*/
async function sleep(millis) {return new Promise((resolve) => {// 多加一步判断 numberif (typeof millis !== "number") return 0;setTimeout(() => {resolve();}, millis)})
}/** * let t = Date.now()* sleep(100).then(() => console.log(Date.now() - t)) // 100*/