/**
* @param {number} millis
*/
async function sleep(millis) {
}
/**
* let t = Date.now()
* sleep(100).then(() => console.log(Date.now() - t)) // 100
*/
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 对象
提示:
1 <= millis <= 1000
原站题解
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 */