当前位置:首页 > JavaScript

js sleep实现

2026-02-01 16:18:44JavaScript

实现 JavaScript 中的 sleep 功能

JavaScript 本身没有内置的 sleep 函数,但可以通过几种方法模拟类似效果。

使用 Promise 和 setTimeout

现代 JavaScript 通常使用 Promise 和 async/await 来实现 sleep 功能:

js sleep实现

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

async function demo() {
  console.log('开始');
  await sleep(2000); // 暂停2秒
  console.log('结束');
}

demo();

传统回调方式

在 ES6 之前,可以使用回调函数实现:

js sleep实现

function sleep(ms, callback) {
  setTimeout(callback, ms);
}

console.log('开始');
sleep(2000, function() {
  console.log('结束');
});

同步阻塞方式(不推荐)

这种方法会阻塞整个线程,通常不建议使用:

function sleepSync(ms) {
  const start = Date.now();
  while (Date.now() - start < ms) {}
}

console.log('开始');
sleepSync(2000); // 阻塞2秒
console.log('结束');

使用 Atomics.wait

在 Node.js 环境中可以使用更底层的 API:

function sleep(ms) {
  Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
}

注意这种方法只在特定环境下可用,且可能影响性能。

标签: jssleep
分享给朋友:

相关文章

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

vue实现js休眠

vue实现js休眠

实现 JavaScript 休眠的方法 在 Vue 中实现 JavaScript 休眠(延迟执行)可以通过以下方式实现。由于 JavaScript 本身没有内置的 sleep 函数,通常使用 Prom…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js实现跑马灯

js实现跑马灯

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

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…