当前位置:首页 > JavaScript

js实现延时

2026-03-14 05:40:55JavaScript

使用 setTimeout 实现延时

setTimeout 是 JavaScript 中最常用的延时方法,用于在指定的毫秒数后执行函数或代码片段。

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

可以传递参数给回调函数:

setTimeout((param1, param2) => {
  console.log(param1, param2);
}, 1000, '参数1', '参数2');

使用 async/await 实现延时

通过结合 Promise 和 async/await 可以创建更易读的延时逻辑。

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

async function delayedFunction() {
  console.log('开始');
  await delay(2000);
  console.log('2秒后执行');
}

使用 setInterval 实现循环延时

setInterval 可以按照固定的时间间隔重复执行代码。

let counter = 0;
const intervalId = setInterval(() => {
  console.log(`执行第 ${++counter} 次`);
  if (counter === 5) {
    clearInterval(intervalId);
    console.log('循环结束');
  }
}, 1000);

使用 requestAnimationFrame 实现动画延时

对于需要与屏幕刷新率同步的动画延时,requestAnimationFrame 是更好的选择。

function animate() {
  console.log('动画帧执行');
  requestAnimationFrame(animate);
}

// 启动动画
animate();

使用 Promise 链实现顺序延时

通过 Promise 链可以实现多个延时的顺序执行。

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

wait(1000)
  .then(() => {
    console.log('1秒后执行');
    return wait(2000);
  })
  .then(() => {
    console.log('再2秒后执行');
  });

使用 Date 对象实现精确延时

对于需要更高精度的时间控制,可以结合 Date 对象实现。

js实现延时

function preciseDelay(ms) {
  const start = Date.now();
  while (Date.now() - start < ms) {}
  console.log(`精确延时 ${ms} 毫秒完成`);
}

注意:这种方法会阻塞主线程,只适用于需要精确延时的特殊情况。

标签: js
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统的…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…