在JavaScript中,与其他编程语言不同,没有内置的sleep()函数。但我们可以使用一些方法来模拟JavaScript中的sleep()函数。JavaScript中的Promiseasync/await函数等特性使得使用sleep()函数变得更加简单。

await用于等待一个Promise,并且只能在async函数中使用。JavaScript的行为是异步的,因此有一种称为Promise的概念来处理这种异步行为。由于这种异步行为,JavaScript在执行过程中会继续工作,不会等待任何事情。async/await函数帮助我们以同步的方式编写代码。

如何在JavaScript中使用sleep函数?

在实现JavaScript中的sleep函数之前,了解JavaScript代码的执行方式很重要。

JavaScript中sleep()的语法

sleep(delayTime in milliseconds).then(() => {
  // 要执行的代码
})

可以与async/await一起使用sleep()函数以获取执行之间的暂停。以下是使用它的语法:

const func = async () => {
  await sleep(delayTime in milliseconds);
  // 要执行的代码
}
func();

以上是在JavaScript中实现sleep功能的方式。现在,让我们看看JavaScript中使用sleep()函数的示例。

示例1

在此示例中,我们使用async/await功能和sleep()函数。定义了一个名为fun()的函数,其中包含一些语句。首先,一旦启动函数,屏幕上就会显示文本"Hello World"。然后,由于sleep函数的存在,fun()会在2秒钟的时间内暂停。在给定时间段结束后,将在屏幕上显示文本"Welcome to the javaTiku.cn",并在循环的每次迭代中重复,直到循环终止。文本将在屏幕上重复10次,每次迭代都会暂停2秒钟。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Example of using sleep() in JavaScript</h1>
<script>
function sleep(milliseconds) {
  return new Promise(resolve => setTimeout(resolve, milliseconds));
}
async function fun() {
  document.write('Hello World');
  for (let i = 1; i <= 10 ; i++) {     
    await sleep(2000);
    document.write(i + " " + "Welcome to the javaTiku.cn" + "<br>");
  }
}
fun();
</script>
</body>
</html>

输出

执行上述代码后,输出将如下所示:

1.png

两秒后,输出将更改。

循环将在每次迭代时暂停2秒钟,重复10次。

示例2

在此示例中,我们使用setTimeout()函数创建一个Promise。setTimeout()函数在指定的时间后执行代码。我们还使用then()方法,在Promise完成后执行所需的函数。

首先,在屏幕上显示一些语句。然后,在2秒的延迟之后,将在屏幕上显示文本"End"

这种方法更适合延迟函数。由于使用了Promise,因此它在ES6中支持。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Example of using sleep() in JavaScript</h1>
<p>There is a sleep of 2000 milliseconds</p>
<script>
let sleep = ms => {
  return new Promise(resolve => setTimeout(resolve, ms));
};

document.write("Begin" + "<br>");
document.write("Welcome to the javaTiku.cn" + "<br>");

sleep(2000).then(() => {
  document.write("End");
});
</script>
</body>
</html>

输出

在2秒的延迟之后,输出将如下所示:

2.png

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全