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 相关文章推荐
CCPry JS类库 代码
Oct 30 Javascript
javascript parseInt与Number函数的区别
Jan 21 Javascript
js post方式传递提交的实现代码
May 31 Javascript
javascript 词法作用域和闭包分析说明
Aug 12 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 Javascript
清除输入框内的空格
Dec 21 Javascript
简单实现Vue的observer和watcher
Dec 21 Javascript
Javascript 详解封装from表单数据为json串进行ajax提交
Mar 29 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
Vue的土著指令和自定义指令实例详解
Feb 04 Javascript
JavaScript 闭包的使用场景
Sep 17 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 mysql数据库操作分页类
2008/06/04 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
Yii中CGridView关联表搜索排序方法实例详解
2014/12/03 PHP
PHP生成器简单实例
2015/05/13 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python字典的核心底层原理讲解
2019/01/24 Python
python实现二维数组的对角线遍历
2019/03/02 Python
利用ImageAI库只需几行python代码实现目标检测
2019/08/09 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Python实现对word文档添加密码去除密码的示例代码
2020/12/29 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
我的动漫时代的创业计划书范文
2014/01/27 职场文书
小学生期末评语
2014/04/21 职场文书
学校四群教育实施方案
2014/06/12 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
建议书范文
2015/02/05 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
五星红旗迎风飘扬观后感
2015/06/17 职场文书