如何暂停 JavaScript 代码执行 2 秒

新手上路,请多包涵

我想停止执行 2 秒。

 <html>
   <head>
      <title> HW 10.12 </title>
      <script type="text/javascript">
         for (var i = 1; i <= 5; i++) {
             document.write(i);
             sleep(2); //for the first time loop is excute and sleep for 2 seconds
         };
      </script>
   </head>
   <body></body>
</html>

第一次循环执行并休眠 2 秒。我想停止执行两秒钟?

原文由 abdullah sheikh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 968
1 个回答

Javascript 是单线程的,所以本质上不应该有睡眠函数,因为睡眠会阻塞线程。 setTimeout 是一种通过将事件发布到稍后执行的队列而不阻塞线程来解决此问题的方法。但是如果你想要一个真正的睡眠函数,你可以这样写:

 function sleep(miliseconds) {
   var currentTime = new Date().getTime();

   while (currentTime + miliseconds >= new Date().getTime()) {
   }
}

注意: 推荐上面的代码。

原文由 Khanh TO 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏