当前位置:首页 > JavaScript

js 实现延时执行

2026-04-07 15:58:14JavaScript

延时执行的方法

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

setTimeout

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

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

Promise与setTimeout结合

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

js 实现延时执行

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来取消执行。

js 实现延时执行

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可以实现更复杂的延时控制逻辑。

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
分享给朋友:

相关文章

js实现

js实现

实现 JavaScript 功能的方法 在 JavaScript 中实现特定功能通常涉及多个步骤。以下是常见的实现方法: 基础语法和变量声明 使用 let 或 const 声明变量: let co…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…