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 相关文章推荐
js 浮动层菜单收藏
Jan 16 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
jQuery代码实现对话框右上角菜单带关闭×
May 03 Javascript
JS对HTML表格进行增删改操作
Aug 22 Javascript
原生JS仿QQ阅读点击展开、收起效果
Mar 08 Javascript
vue axios用法教程详解
Jul 23 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
Mar 08 Javascript
Vue2.0 实现单选互斥的方法
Apr 13 Javascript
VUE中v-on:click事件中获取当前dom元素的代码
Aug 22 Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 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类的静态(static)方法和静态(static)变量使用介绍
2012/02/19 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
PHP获取photoshop写入图片文字信息的方法
2015/03/31 PHP
PHP查找与搜索数组元素方法总结
2015/06/12 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
2019/05/08 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
jQuery学习笔记之jQuery原型属性和方法
2014/06/09 Javascript
JS获取时间的方法
2015/01/21 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
js 递归和定时器的实例解析
2017/02/03 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
JavaScript中document.referrer的用法详解
2017/07/04 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
JavaScript解析机制与闭包原理实例详解
2019/03/08 Javascript
简单易扩展可控性强的Jquery转盘抽奖程序
2019/03/16 jQuery
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
小程序实现密码输入框
2020/11/16 Javascript
Python3基础之条件与循环控制实例解析
2014/08/13 Python
详解Python编程中time模块的使用
2015/11/20 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python实现的科学计算器功能示例
2017/08/04 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
python简单实现矩阵的乘,加,转置和逆运算示例
2019/07/10 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
美术师范毕业生自荐信
2013/11/16 职场文书
施工材料员岗位职责
2014/02/12 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
党员评议个人总结
2014/10/20 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang