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 相关文章推荐
JavaScript 高级语法介绍
Jun 15 Javascript
javascript sudoku 数独智力游戏生成代码
Mar 27 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
MyEclipse取消验证Js的两种方法
Nov 14 Javascript
JS是按值传递还是按引用传递
Jan 30 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
详解VueJs异步动态加载块
Mar 09 Javascript
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
深入理解vuex2.0 之 modules
Nov 20 Javascript
Vue实现table上下移动功能示例
Feb 21 Javascript
通过实例解析javascript Date对象属性及方法
Nov 04 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
终于听上了直流胆调频
2021/03/02 无线电
PHP.MVC的模板标签系统(一)
2006/09/05 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
php 转换字符串编码 iconv与mb_convert_encoding的区别说明
2011/11/10 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
php强制运行广告的方法
2014/12/01 PHP
php格式化金额函数分享
2015/02/02 PHP
PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
2015/09/22 PHP
PHP MySql增删改查的简单实例
2016/06/21 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
jQuery使用经验小技巧(推荐)
2016/05/31 Javascript
JavaScript无操作后屏保功能的实现方法
2017/07/04 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
Angular angular-file-upload文件上传的示例代码
2018/08/23 Javascript
微信小程序获取地理位置及经纬度授权代码实例
2019/09/18 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
Python实现去除代码前行号的方法
2015/03/10 Python
100行python代码实现跳一跳辅助程序
2018/01/15 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
python使用matplotlib画柱状图、散点图
2019/03/18 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
Python远程linux执行命令实现
2020/11/11 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
CSS3实现翘边的阴影效果的代码示例
2016/06/13 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
2014/05/08 HTML / CSS
工作表现自我评价
2014/02/08 职场文书
见习期个人总结
2015/03/05 职场文书
安全生产协议书
2016/03/22 职场文书
商业计划书之服装
2019/09/09 职场文书
python中取整数的几种方法
2021/11/07 Python
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python
德劲DE1102数字调谐收音机机评
2022/04/07 无线电