当前位置:首页 > JavaScript

js实现延时执行

2026-03-01 15:12:42JavaScript

延时执行方法

在JavaScript中,延时执行可以通过多种方式实现,以下是几种常见的方法:

setTimeout

使用setTimeout函数可以在指定的毫秒数后执行代码:

setTimeout(() => {
  console.log('这段代码将在1秒后执行');
}, 1000);

Promise与async/await

结合Promise和async/await可以实现更清晰的延时逻辑:

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

async function delayedAction() {
  await delay(2000);
  console.log('这段代码将在2秒后执行');
}
delayedAction();

requestAnimationFrame

对于需要与浏览器渲染同步的延时操作,可以使用requestAnimationFrame

function delayedAnimation() {
  const start = Date.now();

  function frame() {
    if (Date.now() - start >= 1500) {
      console.log('1.5秒后执行的动画相关操作');
      return;
    }
    requestAnimationFrame(frame);
  }

  requestAnimationFrame(frame);
}
delayedAnimation();

setInterval与clearInterval

需要重复执行时可以使用setInterval,记得用clearInterval停止:

js实现延时执行

let counter = 0;
const intervalId = setInterval(() => {
  console.log(`每500ms执行一次,当前计数: ${++counter}`);
  if (counter >= 5) clearInterval(intervalId);
}, 500);

注意事项

  • 浏览器环境中最小延时实际为4ms(HTML5规范),即使设置更小值也会按4ms处理
  • Node.js环境没有这个限制,但实际精度取决于系统
  • 大量延时任务建议使用任务队列管理,避免性能问题
  • Web Worker适合处理长时间运行的延时任务,避免阻塞主线程

标签: js
分享给朋友:

相关文章

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现抽奖

js实现抽奖

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

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…