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 相关文章推荐
js 判断文件类型并控制表单提交示例代码
Nov 14 Javascript
js setTimeout()函数介绍及应用以倒计时为例
Dec 12 Javascript
一个判断抢购时间是否到达的简单的js函数
Jun 23 Javascript
jquery中post方法用法实例
Oct 21 Javascript
js点击按钮实现带遮罩层的弹出视频效果
Dec 19 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
Angular1.x复杂指令实例详解
Mar 01 Javascript
react系列从零开始_简单谈谈react
Jul 06 Javascript
CKEditor4配置与开发详细中文说明文档
Oct 08 Javascript
webpack dll打包重复问题优化的解决
Oct 10 Javascript
layui的面包屑或者表单不显示的解决方法
Sep 05 Javascript
ionic2.0双击返回键退出应用
Sep 17 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
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
25个非常棒的jQuery滑块插件和教程小结
2011/09/02 Javascript
javascript:void(0)的作用示例介绍
2013/10/28 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
Javascript中Date类型和Math类型详解
2016/02/27 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
微信小程序 图片边框解决方法
2017/01/16 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
浅谈angular2路由预加载策略
2017/10/04 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
[03:14]2014DOTA2西雅图国际邀请赛 EG战队巡礼
2014/07/07 DOTA
分享Python字符串关键点
2015/12/13 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
Tirendo比利时:在线购买轮胎
2018/10/22 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
介绍下static、final、abstract区别
2015/01/30 面试题
人力资源管理专业毕业生自我评价
2013/09/21 职场文书
家教广告词
2014/03/19 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
Python re.sub 反向引用的实现
2021/07/07 Python