当前位置:首页 > JavaScript

js实现等待

2026-01-30 09:22:06JavaScript

使用 setTimeout 实现延迟执行

通过 setTimeout 可以在指定时间后执行回调函数,适用于单次延迟任务。

setTimeout(() => {
  console.log("延迟1秒后执行");
}, 1000);

使用 PromisesetTimeout 结合

通过 Promise 封装 setTimeout,实现链式调用或 async/await 语法。

js实现等待

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

async function demo() {
  await wait(2000);
  console.log("等待2秒后执行");
}
demo();

使用 setInterval 实现轮询

通过 setInterval 周期性执行任务,需手动清除定时器。

let counter = 0;
const intervalId = setInterval(() => {
  console.log(`第${++counter}次执行`);
  if (counter >= 3) clearInterval(intervalId);
}, 1000);

使用 requestAnimationFrame 实现动画等待

适用于需要与屏幕刷新率同步的动画场景,性能优于 setTimeout

js实现等待

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

使用 async/await 等待异步操作完成

适用于需要等待多个异步任务按顺序执行的场景。

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  console.log(data);
}
fetchData();

使用 EventEmitter 或自定义事件

通过事件监听机制实现等待特定事件触发后再执行逻辑。

const EventEmitter = require('events');
const emitter = new EventEmitter();

emitter.on('ready', () => {
  console.log("事件触发后执行");
});

setTimeout(() => emitter.emit('ready'), 1500);

注意事项

  • setTimeoutsetInterval 的时间参数为最小值,实际延迟可能因浏览器或系统负载而延长。
  • 使用 Promiseasync/await 时需处理可能的异常(通过 try/catch)。
  • 避免内存泄漏,及时清除无用的定时器或事件监听。

标签: js
分享给朋友:

相关文章

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

利用js实现

利用js实现

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

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…