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 毫秒转时间示例代码
Sep 22 Javascript
js实现收缩菜单效果实例代码
Oct 30 Javascript
介绍一个简单的JavaScript类框架
Jun 24 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
angularjs学习笔记之完整的项目结构
Sep 26 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
Jul 27 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
js前端解决跨域问题的8种方案(最新最全)
Nov 18 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
微信小程序实现的picker多级联动功能示例
May 23 Javascript
vuecli项目构建SSR服务端渲染的实现
Oct 30 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
QQ登录 PHP OAuth示例代码
2011/07/20 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
一个选择最快的服务器转向代码
2009/04/27 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
Javascript的this详解
2019/03/23 Javascript
JavaScript中的类型检查
2020/02/03 Javascript
使用IPython下的Net-SNMP来管理类UNIX系统的教程
2015/04/15 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Python操作qml对象过程详解
2019/09/26 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python中sorted()排序与字母大小写的问题
2020/01/14 Python
Python2与Python3的区别详解
2020/02/09 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
详解python对象之间的交互
2020/09/29 Python
python自动打开浏览器下载zip并提取内容写入excel
2021/01/04 Python
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
2014端午节活动策划方案
2014/01/27 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
2014年服装销售工作总结
2014/11/27 职场文书
2015年服务员工作总结
2015/04/08 职场文书
导游词之河北滦平金山岭长城
2019/10/16 职场文书