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 相关文章推荐
根据分辨率不同,调用不同的css文件
Aug 25 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
限制上传文件大小和格式的jQuery插件实例
Jan 24 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
May 11 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
基于vue实现圆形菜单栏组件
Jul 05 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
Oct 14 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
Vue+Element-UI实现上传图片并压缩
Nov 26 Javascript
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
Aug 03 Javascript
vue 单页应用和多页应用的优劣
Oct 22 Javascript
react中的DOM操作实现
Jun 30 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 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
php实现httpRequest的方法
2015/03/13 PHP
PHP时间函数使用详解
2019/03/21 PHP
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
2017/07/10 Javascript
使用SVG基本操作API的实例讲解
2017/09/14 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
[00:18]天涯墨客三技能展示
2018/08/25 DOTA
把项目从Python2.x移植到Python3.x的经验总结
2015/04/20 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
python with语句的原理与用法详解
2020/03/30 Python
python中pop()函数的语法与实例
2020/12/01 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
Html5新标签解释及用法
2012/02/17 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
水污染治理工程专业自荐信
2014/06/21 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
落实八项规定专题民主生活会对照检查材料
2014/09/15 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
干部考察材料范文
2014/12/24 职场文书
创业计划书之珠宝饰品
2019/08/26 职场文书
五年级作文之成长
2019/09/16 职场文书
PHP控制循环操作的时间
2021/04/01 PHP
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android