当前位置:首页 > JavaScript

js 实现休眠

2026-02-01 00:11:12JavaScript

实现休眠的方法

在JavaScript中,没有直接的休眠函数,但可以通过以下几种方式模拟休眠效果。

js 实现休眠

使用setTimeout和Promise

通过结合setTimeoutPromise,可以创建一个异步的休眠函数。

js 实现休眠

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

async function demo() {
  console.log('开始休眠');
  await sleep(2000); // 休眠2秒
  console.log('休眠结束');
}
demo();

使用async/await

在异步函数中,await可以暂停代码执行,直到Promise完成。

(async () => {
  console.log('休眠前');
  await new Promise(resolve => setTimeout(resolve, 1000));
  console.log('休眠后');
})();

使用循环阻塞(不推荐)

虽然可以通过循环阻塞主线程实现休眠,但这种方法会严重影响性能,不建议使用。

function sleep(ms) {
  const start = Date.now();
  while (Date.now() - start < ms) {}
}
console.log('开始');
sleep(2000); // 阻塞2秒
console.log('结束');

注意事项

  • 异步休眠不会阻塞主线程,适合在需要等待但不影响其他操作时使用。
  • 循环阻塞会冻结页面,仅适用于极端情况或测试场景。

标签: js
分享给朋友:

相关文章

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…