当前位置:首页 > JavaScript

js after 实现

2026-04-06 05:57:25JavaScript

实现延迟执行的方法

在JavaScript中,可以通过多种方式实现延迟执行代码的效果。以下是几种常见的方法:

setTimeout

使用setTimeout函数是最直接的延迟执行方法。该函数接受一个回调函数和延迟时间(毫秒)作为参数。

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

Promise与async/await

结合Promise和async/await语法可以实现更优雅的延迟控制。

js after 实现

const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

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

requestAnimationFrame

对于需要与浏览器渲染周期同步的延迟操作,可以使用requestAnimationFrame

function delayedAnimation() {
  const start = Date.now();

  function frame() {
    if (Date.now() - start >= 1500) {
      console.log('延迟1.5秒执行');
    } else {
      requestAnimationFrame(frame);
    }
  }
  requestAnimationFrame(frame);
}
delayedAnimation();

取消延迟执行

如果需要取消已设置的延迟执行,可以使用对应的清除方法。

js after 实现

// setTimeout的清除
const timerId = setTimeout(() => {}, 1000);
clearTimeout(timerId);

// requestAnimationFrame的清除
const requestId = requestAnimationFrame(() => {});
cancelAnimationFrame(requestId);

循环延迟执行

使用setInterval可以实现周期性延迟执行。

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

// 清除循环
setTimeout(() => {
  clearInterval(intervalId);
}, 5000);

现代API方案

较新的浏览器环境支持queueMicrotaskscheduler.postTask等API。

// 微任务延迟
queueMicrotask(() => {
  console.log('在当前事件循环的微任务阶段执行');
});

// 调度API(实验性特性)
if ('scheduler' in window) {
  scheduler.postTask(() => {
    console.log('优先级任务调度');
  }, { priority: 'user-blocking' });
}

标签: jsafter
分享给朋友:

相关文章

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现延迟

js实现延迟

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

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inpu…

js 实现跳转

js 实现跳转

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

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…