setTimeout 不断吐食CPU的问题分析


Posted in Javascript onApril 01, 2009
<script language="javascript"> 
function PollConn(){ 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>

上面的方法一般是比较通用的方法。不停的每隔5秒钟调用一下自己。在一般的运用中,用户访问含有这样代码的页是没感觉出它有什么问题。但是如果用户在这样的页里需要停留的时间很长,就会用问题。因为setTimeout会不停的“吐食”CPU,慢慢的CPU最终会被这样的代码吃光,造成IE死掉,或停止执行。
解决的办法,在下次调用之前先用clearTimeout清除一下。
<script language="javascript"> 
function PollConn(){ 
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>
Javascript 相关文章推荐
JQuery 小练习(实例代码)
Aug 07 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
Nov 30 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
Feb 26 Javascript
JS实现图片的不间断连续滚动的简单实例
Jun 03 Javascript
jquery获取easyui日期控件的值实现方法
Nov 09 Javascript
Node.js中如何合并两个复杂对象详解
Dec 31 Javascript
基于node.js制作简单爬虫教程
Jun 29 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
Sep 28 Javascript
ES6中的Promise代码详解
Oct 09 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
Aug 22 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
Nov 06 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 Javascript
js Flash插入函数免激活代码
Mar 31 #Javascript
响应鼠标变换表格背景或者颜色的代码
Mar 30 #Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 #Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 #Javascript
一个tab标签切换效果代码
Mar 27 #Javascript
js onpropertychange输入框 事件获取属性
Mar 26 #Javascript
input 高级限制级用法
Mar 26 #Javascript
You might like
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
Javascript 写的简单进度条控件
2008/01/22 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
Jquery数字上下滚动动态切换插件
2015/08/08 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
JS库之Waypoints的用法详解
2017/09/13 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
express 项目分层实践详解
2018/12/10 Javascript
vue-router启用history模式下的开发及非根目录部署方法
2018/12/23 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
jQuery实现放大镜案例
2020/10/19 jQuery
[47:08]OG vs INfamous 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python闭包实现计数器的方法
2015/05/05 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
老生常谈Python基础之字符编码
2017/06/14 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
PyQt5 QDockWidget控件应用详解
2020/08/12 Python
HTTP状态码详解
2021/03/18 杂记
html5菜单折纸效果
2014/04/22 HTML / CSS
秘书专业自荐信范文
2013/12/26 职场文书
好的演讲稿开场白
2013/12/30 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
一分钟演讲稿
2014/04/30 职场文书
推广普通话标语
2014/06/27 职场文书
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
团队拓展训练感想
2015/08/07 职场文书