// JavaScript 中没有内置的 sleep 函数,但可以通过以下几种方式实现类似的功能。
// 方法 1: 使用 setTimeout 实现异步等待
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
// 示例用法:
async function example() {
console.log("开始");
await sleep(2000); // 等待 2 秒
console.log("结束");
}
example();
// 方法 2: 使用 while 循环实现阻塞式等待(不推荐,会阻塞主线程)
function blockingSleep(ms) {
const start = Date.now();
while (Date.now() - start < ms) {
// 阻塞直到时间到达
}
}
// 示例用法:
console.log("开始");
blockingSleep(2000); // 阻塞 2 秒
console.log("结束");
// 注意:方法 2 不推荐使用,因为它会阻塞整个 JavaScript 执行线程,导致页面无响应。
setTimeout
和 Promise
来实现非阻塞的延迟。这是推荐的方式,因为它不会阻塞主线程,允许其他代码继续执行。while
循环来实现阻塞式的等待。这种方式虽然可以实现延迟,但它会阻塞 JavaScript 的事件循环,导致页面卡顿,因此不推荐使用。Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站