javascript里模拟sleep(两种实现方式)_javascript技巧
程序员文章站
2022-06-08 19:49:36
...
有几种方式,但都不完美
其一,不断循环,直到达到指定时间
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也可以中断后续代码的执行。
推荐阅读
-
JavaScript模拟实现封装的三种方式及写法区别
-
JavaScript中两种链式调用实现代码_javascript技巧
-
两种方法实现在HTML页面加载完毕后运行某个js_javascript技巧
-
JavaScript中yield实用简洁实现方式_javascript技巧
-
javascript里模拟sleep(两种实现方式)_javascript技巧
-
使用JavaScript判断图片是否加载完成的三种实现方式_javascript技巧
-
javascript中不提供sleep功能如何实现这个功能_javascript技巧
-
静态页面也可以实现预览 列表不同的显示方式[原创]_javascript技巧
-
如何实现textarea里的不同文本显示不同颜色_javascript技巧
-
jQuery.extend()的实现方式详解及实例_javascript技巧