当前位置:首页 > JavaScript

js 实现延时执行

2026-04-07 15:58:14JavaScript

延时执行的方法

在JavaScript中,实现延时执行可以通过以下几种方式:

setTimeout

setTimeout是JavaScript中最常用的延时执行方法。它接受一个回调函数和一个以毫秒为单位的时间参数,在指定的时间后执行回调函数。

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

Promise与setTimeout结合

使用Promise可以更好地处理异步操作,结合setTimeout可以实现延时执行。

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

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

async/await

在异步函数中,可以使用async/await语法结合setTimeout实现更清晰的延时执行代码。

async function delayedExecution() {
  await new Promise(resolve => setTimeout(resolve, 1000));
  console.log('这段代码将在1秒后执行');
}

delayedExecution();

setInterval与clearInterval

如果需要重复执行某个操作,可以使用setInterval,并通过clearInterval来取消执行。

const intervalId = setInterval(() => {
  console.log('这段代码每1秒执行一次');
}, 1000);

// 取消执行
setTimeout(() => {
  clearInterval(intervalId);
}, 5000);

requestAnimationFrame

对于需要与浏览器渲染同步的延时操作,可以使用requestAnimationFrame,通常用于动画或其他高性能需求。

function delayedAnimation() {
  let start = null;
  function step(timestamp) {
    if (!start) start = timestamp;
    const elapsed = timestamp - start;
    if (elapsed < 1000) {
      requestAnimationFrame(step);
    } else {
      console.log('这段代码在1秒后执行');
    }
  }
  requestAnimationFrame(step);
}

delayedAnimation();

使用Generator函数

通过Generator函数和yield可以实现更复杂的延时控制逻辑。

js 实现延时执行

function* delayedGenerator() {
  yield new Promise(resolve => setTimeout(resolve, 1000));
  console.log('这段代码将在1秒后执行');
}

const gen = delayedGenerator();
gen.next().value.then(() => gen.next());

这些方法可以根据具体需求选择使用,setTimeout是最简单直接的方式,而Promise和async/await则更适合复杂的异步流程控制。

标签: js
分享给朋友:

相关文章

css3结合js制作

css3结合js制作

CSS3 结合 JavaScript 制作动态效果 CSS3 和 JavaScript 结合可以实现丰富的动态效果,包括动画、交互和响应式设计。以下是几种常见的实现方式: CSS3 动画与 Java…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现抽奖

js实现抽奖

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

js节流实现

js节流实现

节流的概念 节流(Throttle)是一种限制函数执行频率的技术,确保函数在一定时间间隔内只执行一次。常用于滚动事件、窗口调整等高频触发的场景。 基础实现方法 使用时间戳判断是否执行函数:…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…