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 相关文章推荐
使用AngularJS处理单选框和复选框的简单方法
Jun 19 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
JavaScript实现显示函数调用堆栈的方法
Apr 21 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
May 03 Javascript
bootstrap组件之导航组件使用方法
Jan 19 Javascript
Webpack打包慢问题的完美解决方法
Mar 16 Javascript
详解angular笔记路由之angular-router
Sep 12 Javascript
解决vue处理axios post请求传参的问题
Mar 05 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
May 05 Javascript
微信小程序实现卡片层叠滑动效果
Jun 21 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
15分钟上手vue3.0(小结)
May 20 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
CodeIgniter php mvc框架 中国网站
2008/05/26 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
php常用Stream函数集介绍
2013/06/24 PHP
PHP 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
Yii核心验证器api详解
2016/11/23 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
2016/08/02 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
基于rollup的组件库打包体积优化小结
2018/06/18 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
ES6 Promise对象概念及用法实例详解
2019/10/15 Javascript
JavaScript实现瀑布流布局的3种方式
2020/12/27 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
pytorch中图像的数据格式实例
2020/02/11 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
Shopee菲律宾:在线购买和出售
2019/11/25 全球购物
什么是组件架构
2016/05/15 面试题
《草虫的村落》教学反思
2014/02/16 职场文书
单位承诺书格式
2014/05/21 职场文书
工作说明书格式
2014/07/29 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js