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判断单选框或复选框是否选中方法集锦
Apr 04 Javascript
Prototype Hash对象 学习
Jul 19 Javascript
javascript中日期转换成时间戳的小例子
Mar 21 Javascript
javascript页面加载完执行事件代码
Feb 11 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
Oct 14 Javascript
浅析2种JavaScript继承方式
Dec 04 Javascript
IE和Firefox之间在JavaScript语法上的差异
Apr 22 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 Javascript
使用JavaScript实现alert的实例代码
Jul 06 Javascript
轻松解决JavaScript定时器越走越快的问题
May 13 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 中include()与require()的对比
2006/10/09 PHP
smarty内置函数section的用法
2015/01/22 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
jQuery $.get 的妙用 访问本地文本文件
2012/07/12 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
2015/06/24 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
angular-ngSanitize模块-$sanitize服务详解
2017/06/13 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
Node中使用ES6语法的基础教程
2018/01/05 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
json_decode 索引为数字时自动排序问题解决方法
2020/03/28 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
python3中的md5加密实例
2018/05/29 Python
分析python请求数据
2018/08/19 Python
python通过配置文件共享全局变量的实例
2019/01/11 Python
python实现查找所有程序的安装信息
2020/02/18 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
单位人事专员介绍信
2014/01/11 职场文书
音乐教学反思
2014/02/02 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
应届生求职自荐信
2014/07/04 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
婚前协议书范本两则
2014/10/16 职场文书
终止劳动合同通知书
2015/04/16 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
Nginx进程管理和重载原理详解
2021/04/22 Servers
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android