JavaScript Sleep()函数?

睡觉()

借助Sleep(),我们可以使函数在固定的时间内暂停执行。在诸如C和Php的 编程语言中,我们将其称为sleep(sec)。Java有 Thread.sleep()方法,Python已经time.sleep()GO 具有time.Sleep(2 * time.Second)

javascript 没有这类 睡眠功能。但是我们应该感谢ES 2018中的promises async / await函数。因为这些功能帮助我们尽可能轻松地使用sleep() 。让我们简要地讨论一下。

语法1

sleep(Time in ms).then(() => {
////代码
})

我们可以使用sleep函数,然后如上 进行回调。

语法2

const work = async () => {
await sleep(Time in ms)
//代码
}
work()

我们可以将sleep函数与async / await函数一起使用,如上所示。

示例

在以下示例中,我们将 sleep()async / await函数一起使用。在这里,睡眠功能伴随着等待 程序的进行。启动 异步函数后,最初会显示该函数中的文本“ Hello Tutorix ”。之后,使用睡眠功能暂停该功能3秒钟。一旦 时间周期 完成后,文本(“欢迎来到........ ”)后的睡眠功能显示。重复执行直到循环终止,这意味着该文本总共将重复输出19次,如输出所示。 

<html>
<body>
<script>
   function sleep(ms) {
      return new Promise(resolve => setTimeout(resolve, ms));
   }
   async function Tutor() {
      document.write('Hello Toturix');
      for (let i = 1; i <20 ; i++) {        
         await sleep(3000);
         document.write( i +" "+"Welcome to tutorix" + " " + "</br>");
      }
   }
   Tutor()
</script>
</body>
</html>

输出结果

Hello Tutorix
//3秒后
1 Welcome to tutorix
//3秒后...,文本将重复直到循环每3秒终止
2 Welcome to tutorix
3 Welcome to tutorix
4 Welcome to tutorix
5 Welcome to tutorix
6 Welcome to tutorix
7 Welcome to tutorix
8 Welcome to tutorix
9 Welcome to tutorix
10 Welcome to tutorix
11 Welcome to tutorix
12 Welcome to tutorix
13 Welcome to tutorix
14 Welcome to tutorix
15 Welcome to tutorix
16 Welcome to tutorix
17 Welcome to tutorix
18 Welcome to tutorix
19 Welcome to tutorix