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 相关文章推荐
json格式化/压缩工具 Chrome插件扩展版
May 25 Javascript
node.js中的fs.link方法使用说明
Dec 15 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
jQuery Mobile弹出窗、弹出层知识汇总
Jan 05 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
Aug 05 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
javascript中this用法实例详解
Apr 06 Javascript
详解Angular 4.x NgTemplateOutlet
May 24 Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 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 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
php去除数组中重复数据
2014/11/18 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
jquery模拟按下回车实现代码
2011/09/20 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
vue两个组件间值的传递或修改方式
2018/07/04 Javascript
vue.js中ref和$refs的使用及示例讲解
2019/08/14 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
2020/05/31 Javascript
[57:55]EG vs Fnatic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python进阶教程之动态类型详解
2014/08/30 Python
使用grappelli为django admin后台添加模板
2014/11/18 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
开源软件包和环境管理系统Anaconda的安装使用
2017/09/04 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
python 动态调用函数实例解析
2019/10/21 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis