当前位置:首页 > 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 可以创建更易读的延时逻辑。

js实现延时

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 是更好的选择。

js实现延时

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 对象实现。

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

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

标签: js
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Promise…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

原生js实现轮播图

原生js实现轮播图

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

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…