JavaScript实现Sleep函数的代码


Posted in Javascript onMarch 04, 2007

但是,这两个函数是异步的,在计时的过程中它们后面的代码还是会继续执行。那就自己来写个sleep()函数吧,网上也流传了一些实现方法,不过我发现下面这个方法简单易懂而且实用,所以在这里分享给大家:

console.log('start...');
console.log('now time: ' + Date(/\d{10,10}/.exec(Date.now())));
function sleep(sleepTime) {
       for(var start = Date.now(); Date.now() - start <= sleepTime; ) { } 
}
sleep(5000); // sleep 5 seconds
console.log('end...');
console.log('end time: ' + Date(/\d{10,10}/.exec(Date.now())));

如果大家的程序对sleep()函数的精确度不那么高的话,使用这个函数是个不错的选择

下面这个是复杂些的,需要的朋友也可以参考一下:

function Sleep(obj,iMinSecond) 
 {  
  if (window.eventList==null)  
  window.eventList=new Array();  
  var ind=-1; 
  for (var i=0;i<window.eventList.length;i++) 
  {   
   if (window.eventList[i]==null)  
   {  
    window.eventList[i]=obj;    
    ind=i;   
    break;   
   }  
  }  
  if (ind==-1) 
  {   
   ind=window.eventList.length;   
   window.eventList[ind]=obj; 
  }  
  setTimeout("GoOn(" + ind + ")",iMinSecond); 
 } 
 function GoOn(ind) 
 {  
  var obj=window.eventList[ind]; 
  window.eventList[ind]=null; 
  if (obj.NextStep) obj.NextStep(); 
  else obj(); 
 } 
 function Test() 
 {  
  alert("sleep");  
  Sleep(this,100); 
  this.NextStep=function() 
  {  
  alert("continue"); 
  } 
 }
Javascript 相关文章推荐
jquery dialog键盘事件代码
Aug 01 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
jquery批量设置属性readonly和disabled的方法
Jan 24 Javascript
js使用for循环与innerHTML获取选中tr下td值
Sep 26 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
Mar 02 Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
VUE中使用MUI方法
Feb 12 Javascript
vue解决使用$http获取数据时报错的问题
Oct 30 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
Javascript中暂停功能的实现代码
Mar 04 #Javascript
参考:关于Javascript中实现暂停的几篇文章
Mar 04 #Javascript
插件:检测javascript的内存泄漏
Mar 04 #Javascript
一个不错的应用,用于提交获取文章内容,不推荐用
Mar 03 #Javascript
求得div 下 img的src地址的js代码
Feb 28 #Javascript
求解开jscript.encode代码的asp函数
Feb 28 #Javascript
用正则获取指定路径文件的名称
Feb 27 #Javascript
You might like
php中session退出登陆问题
2014/02/27 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
2019/10/12 PHP
PhpStorm2020.1 安装 debug - Postman 调用的详细教程
2020/08/17 PHP
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
jquery(live)中File input的change方法只起一次作用的解决办法
2011/10/21 Javascript
JS判断元素为数字的奇异写法分享
2012/08/01 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
jQuery插件animateSlide制作多点滑动幻灯片
2015/06/11 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python在非root权限下的安装方法
2018/01/23 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
PyQt5实现暗黑风格的计时器
2019/07/29 Python
基于Python解密仿射密码
2019/10/21 Python
Python单例模式的四种创建方式实例解析
2020/03/04 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
运动会通讯稿300字
2014/02/02 职场文书
电工工作职责范本
2014/02/22 职场文书
慰问敬老院活动总结
2014/04/26 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
群众路线个人自我剖析材料
2014/10/07 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
2020年个人安全保证书参考模板
2020/01/08 职场文书
详解Js模块化的作用原理和方案
2021/04/29 Javascript
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫