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读取XML文件数据并显示的实现代码
Dec 16 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
Jan 19 Javascript
JavaScript省市联动实现代码
Feb 15 Javascript
2014最热门的JavaScript代码高亮插件推荐
Nov 25 Javascript
JavaScript中的splice方法用法详解
Jul 20 Javascript
jQuery日程管理插件fullcalendar使用详解
Jan 07 Javascript
原生JS实现层叠轮播图
May 17 Javascript
iview中Select 选择器多选校验方法
Mar 15 Javascript
npm 下载指定版本的组件方法
May 17 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
微信小程序实现下拉框功能
Jul 16 Javascript
VUE动态生成word的实现
Jul 26 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
关于文本留言本的分页代码
2006/10/09 PHP
php生成文件
2007/01/15 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
js loading加载效果实现代码
2009/11/24 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
jQuery链式操作如何实现以及为什么要用链式操作
2013/01/17 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
JavaScript数组对象实现增加一个返回随机元素的方法
2015/07/27 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
学习vue.js中class与style绑定
2016/12/03 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
Angular2 自定义表单验证器的实现方法
2018/12/14 Javascript
JS隐藏号码中间4位代码实例
2019/04/09 Javascript
jquery向后台提交数组的代码分析
2020/02/20 jQuery
JS监听组合按键思路及实现过程
2020/04/17 Javascript
Python中max函数用法实例分析
2015/07/17 Python
python常见的格式化输出小结
2016/12/15 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
部队学习十八大感言
2014/01/11 职场文书
个人课题方案
2014/05/08 职场文书
社会稳定风险评估方案
2014/06/02 职场文书
房屋过户委托书范本
2014/10/07 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
语文教师个人工作总结
2015/02/06 职场文书
房产电话营销开场白
2015/05/29 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers