题目详情:
请你编写一个异步函数,它接收一个正整数参数 millis ,并休眠这么多毫秒。要求此函数可以解析任何值。
示例:
输入:millis = 200
输出:200
解释:在 200ms 后函数执行完时返回一个 Promise 对象
解题思路:
首先定义一个名为 sleep 的异步函数。该函数内部使用 setTimeout 来创建一个延迟指定时间的定时器,并返回一个 Promise 对象。
在调用 sleep 函数时,我们可以使用 then 方法来注册一个回调函数,当延迟时间结束后,该回调函数将被调用。在示例代码中,我们在回调函数中简单地输出了 millis 的值。
在异步函数中需要使用 async/await 或者 .then 方法来处理 Promise 对象的返回值。
代码实现:
function sleep(millis) {
return new Promise(resolve => setTimeout(resolve, millis));
}
// 示例输入
const millis = 200;
// 异步调用 sleep 函数
sleep(millis).then(() => {
console.log(millis); // 在等待指定时间后输出 millis 的值
});