TypeScript 实现 sleep 方法

学习笔记作者:admin日期:2025-05-28点击:20

摘要:介绍如何在 TypeScript 中使用 Promise 和 setTimeout 创建 sleep 函数,并展示其在异步代码中的应用。

TypeScript 中实现 sleep 方法

      在 TypeScript 中没有内置的 sleep 函数,但可以通过 JavaScript 的 Promise 和 setTimeout 实现。

方法示例

function sleep(ms: number): Promise<void> {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function demo() {
  console.log("Start");
  await sleep(2000); // 等待2秒
  console.log("End after 2 seconds");
}

demo();

参数说明

  • ms: 毫秒数(1 秒 = 1000 毫秒)

注意事项

  • 避免在同步代码中滥用 sleep。
  • 推荐在异步函数中使用 await。

高级技巧

      可以将 sleep 封装到工具类中供全局使用:

// utils.ts
export function sleep(ms: number): Promise<void> {
  return new Promise(resolve => setTimeout(resolve, ms));
}

      在其他文件中导入使用:

import { sleep } from './utils';

async function run() {
  console.log('Hello');
  await sleep(1000);
  console.log('World');
}

run();

上一篇      下一篇