当前位置:首页 > 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 或自定义事件

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

js实现等待

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实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现预览

js实现预览

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

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现正交

js实现正交

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

js实现跑马灯

js实现跑马灯

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