javascript里模拟sleep(两种实现方式)
更新时间:2013年01月25日 16:31:11 作者:
有几种方式,但都不完美 其一:不断循环,直到达到指定时间、其二:用xhr同步请求后台程序,比如传2000过去,后台就sleep 2秒后再返回,这种方式也有缺点,当N多客户端都请求后台时,一直保持连接http开销很大,感兴趣的朋友可以了解下啊
有几种方式,但都不完美
其一,不断循环,直到达到指定时间
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
其实代码并没有让脚本sleep下来, 相反让CPU迅速上到高负荷的附作用。多数现代浏览器会在该段时间内处于假死状态
其二,用xhr同步请求后台程序,比如传2000过去,后台就sleep 2秒后再返回,这种方式也有缺点,当N多客户端都请求后台时,一直保持连接http开销很大。
此外,window对象的alert,confirm也可以中断后续代码的执行。
其一,不断循环,直到达到指定时间
复制代码 代码如下:
function sleep(numberMillis) {
var now = new Date();
var exitTime = now.getTime() + numberMillis;
while (true) {
now = new Date();
if (now.getTime() > exitTime)
return;
}
}
其实代码并没有让脚本sleep下来, 相反让CPU迅速上到高负荷的附作用。多数现代浏览器会在该段时间内处于假死状态
其二,用xhr同步请求后台程序,比如传2000过去,后台就sleep 2秒后再返回,这种方式也有缺点,当N多客户端都请求后台时,一直保持连接http开销很大。
此外,window对象的alert,confirm也可以中断后续代码的执行。
相关文章
escape编码与unescape解码汉字出现乱码的解决方法
这篇文章主要介绍了escape编码与unescape解码汉字出现乱码的解决方法,需要的朋友可以参考下2014-07-07
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
这篇文章主要介绍了JavaScript实现点击单选按钮改变输入框中文本域内容的方法,涉及javascript单选按钮控制页面元素样式的相关技巧,非常简单实用,需要的朋友可以参考下2015-08-08
微信小程序van-field中的left-icon属性自定义实现过程
在小程序中,我们是用 Vant 组件库时,常常会用到 van-field 输入框控件,今天我将跟大家分享的是 van-field 输入框控件中的 left-icon 属性的自定义怎么实现,感兴趣的朋友一起看看吧2023-08-08
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
Bootstrap Popover(弹出框)是使用定制的 Jquery 插件创建的。它可以用来显示任何元素的一些信息。这篇文章主要介绍了Bootstrap的popover(弹出框)2秒后定时消失功能,需要的朋友参考下2017-02-02


最新评论