人们似乎常常将AngularJS中 的$timeOut()  $interval()函数看做是一个内置的、无须在意的函数。但是,如果你忘记了$timeOut()$interval()的回调函数将会造成非常 不好的影响,你可能会因此遇到代码莫名其妙的出现问题,或者无端抛出一个错误甚至是一遍一遍的重复对的你的服务器进行$http请求这些诡异的情形。管理 好你的$timeOut/$interval定时器的小技巧就是在$destory事件中将它们取消。

JavaScript中原生的setTimeout()以及setInterval()函数不同,angularjs中 的$timeOut()函数会返回一个promise。和其他的promise一样,你可以绑定$timeOut的resolved和rejected时 间。然而更重要的是,你可以通过将这个promise传递给$timeOut.cancel()方法来取消掉潜在的定时器。

设置定时任务,给定时任务起一个名字time_upd,为的是方便清理的时候直接调用名称。

var timeout_upd = $interval($scope.upd_data ,6000);  

注意:设置的时候$interval(fn ,time);第一个参数fn 不能写“()”,只能写$scope.方法名称。第二个参数是定时执行的时间间隔,单位为毫秒。

清除定时任务,AngularJS将会在scope中触发$destory事件。这让我们可以有机会来cancel任何潜在的定时器。

    $scope.$on('$destroy',function(){
$interval.cancel(timeout_upd);
})

最新文章

  1. maven生命周期和插件
  2. Uncaught ReferenceError: WebForm_DoPostBackWithOptions is not defined
  3. 【BZOJ 2154】Crash的数字表格
  4. hadoop1.1.2安装过程
  5. shell脚本监控Flume输出到HDFS上文件合法性
  6. ubuntu下启动和关闭tomcat的简单方法
  7. C++ delete operator做了什么事
  8. XCode4中的文本查找和文本替换功能
  9. PHP 获取时间的各种处理方式!
  10. memcached分布式实现原理
  11. XML数据的读取—数据库配置文件
  12. 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客
  13. Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照
  14. 最优雅SSM框架:SpringMVC + Spring + MyBatis
  15. shell 脚本中执行SQL语句 -e "..."
  16. pureftpd支持php实现图片上传
  17. 写个重新加载 ocelot 配置的接口
  18. JavaScript中的ononline事件和onoffline事件
  19. 如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题
  20. 什么是 TCP 拆、粘包?如何解决(Netty)

热门文章

  1. Mysql文章笔记
  2. HBase 二次开发 java api和demo
  3. 安全篇:弱密码python检测工具
  4. spring MVC学习(一)---前端控制器
  5. 『HTML5实现人工智能』小游戏《井字棋》发布,据说IQ上200才能赢【算法&代码讲解+资源打包下载】
  6. window7主题破解与恢复(复制)
  7. phpcms发布到服务器修改
  8. pandas--对axis=0,axis=1的理解
  9. SQL Server怎么备份数据库
  10. 超级强大的vim配置(vimplus)--续集