虽然pausecomp 函数提供了用于在 JavaScript 中引发暂停的基本解决方案,但当代标准需要更高效的解决方案和优雅的方法。本文介绍了当前在 JavaScript 函数中实现“真正睡眠”的最佳实践,该实践自 2009 年以来不断发展。
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
该函数利用了 Promise API 是 ECMAScript 2015 中引入的内置功能,用于创建表示异步睡眠操作的 Promise。经过指定的毫秒数 (ms) 后,将调用解析函数,进而触发继续执行。
作为函数:
const sleep = ms => new Promise(r => setTimeout(r, ms));
单行语法:
await new Promise(r => setTimeout(r, 2000));
演示:
async function demo() { for (let i = 0; i < 5; i++) { console.log(`Waiting ${i} seconds...`); await sleep(i * 1000); } console.log('Done'); } demo();
以上是如何在现代 JavaScript 中高效地实现睡眠函数?的详细内容。更多信息请关注PHP中文网其他相关文章!