当前位置:首页 > JavaScript

js实现延时执行

2026-03-01 15:12:42JavaScript

延时执行方法

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

setTimeout

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

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

Promise与async/await

js实现延时执行

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

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

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

requestAnimationFrame

js实现延时执行

对于需要与浏览器渲染同步的延时操作,可以使用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停止:

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实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 //…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的H…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Pa…

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…