当前位置:首页 > JavaScript

js实现等待

2026-01-30 09:22:06JavaScript

使用 setTimeout 实现延迟执行

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

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

使用 PromisesetTimeout 结合

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

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

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实现

js实现

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

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现图片轮播

js实现图片轮播

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

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Ja…