列表

详情


2621. 睡眠函数

请你编写一个异步函数,它接收一个正整数参数 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 */ async function sleep(millis) { } /** * let t = Date.now() * sleep(100).then(() => console.log(Date.now() - t)) // 100 */

typescript 解法, 执行用时: 56 ms, 内存消耗: 42.1 MB, 提交时间: 2023-09-12 10:01:04

async function sleep(millis: number): Promise<void> {
    await new Promise((s) => setTimeout(s,millis))
}


/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

javascript 解法, 执行用时: 60 ms, 内存消耗: 40.9 MB, 提交时间: 2023-04-17 16:11:39

/**
 * @param {number} millis
 */
async function sleep(millis) {
    return new Promise((resolve, reject)=> setTimeout(resolve, millis));
}

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

javascript 解法, 执行用时: 68 ms, 内存消耗: 40.9 MB, 提交时间: 2023-04-17 16:11:16

/**
 * @param {number} millis
 */
async function sleep(millis) {
    return new Promise(r => setTimeout(r,millis))
}

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

javascript 解法, 执行用时: 72 ms, 内存消耗: 40.9 MB, 提交时间: 2023-04-17 16:10:56

/**
 * @param {number} millis
 */
async function sleep(millis) {
    return new Promise(function (resolve) {
        setTimeout(function(){
            return resolve(millis);
        }, millis)
    })
}

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

javascript 解法, 执行用时: 52 ms, 内存消耗: 40.9 MB, 提交时间: 2023-04-17 16:10:32

/**
 * @param {number} millis
 */
async function sleep(millis) {
    return new Promise(r => {
        setTimeout(() => r(millis), millis);
    });
}

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

/** 
 * let t = Date.now()
 * sleep(100).then(() => console.log(Date.now() - t)) // 100
 */

上一题