📜  JavaScript 休眠/等待函数

📅  最后修改于: 2020-10-27 01:25:02             🧑  作者: Mango

JavaScript 睡眠/等待函数

诸如PHP和C之类的编程语言具有sleep(sec)函数,可将执行暂停一段固定的时间。 Java具有thread.sleep(), Python具有time.sleep(),而GO具有time.sleep(2 * time.second)。

与其他语言不同,JavaScript没有任何sleep()函数。我们可以使用一些方法来模拟JavaScript中的sleep()函数。 JavaScript中的promise和async / await函数帮助我们以更简单的方式使用sleep()函数。

等待用于等待承诺,只能在异步函数。 JavaScript的行为是异步的,因此存在一个承诺来处理这种异步行为的概念。由于这种异步行为,它继续工作并且在执行过程中不等待任何东西。异步/等待功能可帮助我们以同步方式编写代码。

如何在JavaScript中使用睡眠函数?

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

sleep()在JavaScript中的语法

sleep(delayTime in milliseconds).then(() => {
// code to be executed
})

sleep()函数可以与async / await一起使用,以获取两次执行之间的暂停。相同的语法如下:

句法

const func = async () => { await sleep(delayTime in milliseconds)
//code to be executed
}
fun()

上面的语法是在JavaScript中实现睡眠功能的方式。现在,我们将看到在JavaScript中使用sleep()函数的示例。

例1

在此示例中,我们将sleep()函数与async / await函数一起使用。有一些声明定义了fun()函数。最初,函数启动后,屏幕上将显示文本“ Hello World”。然后,由于使用了睡眠函数,fun()暂停了2秒钟。在给定的时间段完成之后,将在屏幕上显示文本“ Welcome to the javaTpoint.com”,并重复直到循环终止。在循环的每次迭代中,文本将在屏幕上重复10次,并暂停两秒钟。





Example of using sleep() in JavaScript

输出量

执行完上述代码后,输出将为-

两秒钟后,输出将更改-

该循环将迭代10次,每次迭代都暂停2秒。

例2

在这里,我们使用setTimeout()函数创建一个promise。 setTimeout()函数在指定的时间后执行代码。我们还使用了then()方法,该方法在promise完成后执行所需的函数。

最初,某些语句显示在屏幕上。然后,经过2秒钟的延迟后,屏幕上将显示文本“ End”。

此方法可延迟函数。由于使用了Promise,因此ES6支持它。






Example of using the sleep() in JavaScript

There is a sleep of 2000 milliseconds

输出量

执行完上述代码后,输出将为-

延迟2秒后,输出将为-