人们似乎常常将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);
})

angularjs定时任务的设置与清除的更多相关文章

  1. Linux 设置定时清除buff/cache的脚本

    Linux 设置定时清除buff/cache的脚本 查看内存缓存状态 [root@heyong ~]# free -m total used free shared buff/cache availa ...

  2. 工作中linux定时任务的设置及相关配置

    工作中会用到定时任务,来处理以前采集来的数据备份, 每周一凌晨4点执行一次    0 4 * * */1 find/data/templatecdr/oracle/dcndatabak/ -type ...

  3. 关于js中两种定时器的设置及清除(转载)

    1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法 ...

  4. padding设置和清除

    padding设置和清除 标签(空格分隔): padding padding介绍: padding:就是内边距的意思,它是边框到内容之间的距离: 另外padding的区域是有背景颜色的.并且背景颜色和 ...

  5. Quartz 定时任务时间设置

    转自https://blog.csdn.net/zdx1515888659/article/details/79158169 quartz定时任务时间设置: 这些星号由左到右按顺序代表 : * * * ...

  6. AngularJS的select设置默认值

    AngularJS的select设置默认值 在使用Angular时候使用select标签时会遇到绑定数据指定默认显示值可这样实现 <!DOCTYPE html> <html ng-a ...

  7. 跟我学AngularJS:全局变量设置之value vs constant vs rootscope vs 服务[转]

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文要讲讲Angular中value vs. constant以及全局变量的设置 本教程 ...

  8. sping MVC 定时任务的设置

    项目中用到了定时任务,写一篇随笔记录一下. 首先在Spring的配置文件ApplicationContext.xml文件的beans标签中添加 xmlns:task="http://www. ...

  9. Linux 内存缓存占用过大,Centos7设置定时清除buff/cache的脚本

    Linux系统buff/cache 中缓存数据占用内存过高,定时清理buff/cache ,释放系统内存 root权限创建脚本文件: touch cleanCache.sh && vi ...

随机推荐

  1. django-vue之信息过滤(过滤课程)

    一  vue前端代码 实现的内容,通过对课程的分类,在每个不同的课程分类下显示相应的内容 <template> <div class="course"> & ...

  2. Python 中的匿名函数,你滥用了吗?

    概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则结果应该是 ['abc', 'def', 'g ...

  3. HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'NTLM'。

    情况:WCF服务在浏览器中可以正常浏览,但是通过程序调用提示: HTTP request is unauthorized with client authentication scheme 'Anon ...

  4. Java-工程中常用的程序片段

    1.字符串-整型相互转换 String s = String.valueOf(2); int a = Integer.parseInt(s); 2.向文件末尾添加内容 BufferedWriter b ...

  5. Mybatis框架学习总结-解决字段名与实体类属性名不相同的冲突

    在平时的开发中,我们表中的字段名和表对应实体类的属性名称不一定是完全相同的. 1.准备演示需要使用的表和数据 CREATE TABLE orders( order_id INT PRIMARY KEY ...

  6. centos6.5安装cmake-gui

    首先下载cmake(官网,2.8.12版本) 解压 运行 ./bootstrap --qt-gui make make install 完成后,在/usr/local/bin目录下会出现cmake-g ...

  7. Java 运算符及优先级

    运算符 分割符: , ; [] () 算数运算符: + - * / % ++ -- 关系运算符: > < >= <= == != 逻辑运算符: ! & | ^ & ...

  8. TFTP服务器 NFS服务器 smb 、wireshark

    在嵌入式开发过程中有宿主机和目标机的角色之分 宿主机是执行编译.链接嵌入式软件的计算机:目标机是运行嵌入式软件的硬件平台 宿主机一般通过网络.USB.JTAG等方式将软件下载到目标机. 网络下载:tf ...

  9. Spring第一弹—-全面阐述Spring及轻重量级容器的划分

    Spring是什么? Spring是一个开源的控制反转(Inversion of Control ,IoC)和面向切面(AOP)的容器框架,它的主要目得是简化企业开发. IOC 控制反转 :   1 ...

  10. Bitmap: a C++ class

    Bitmap: a C++ class        The five steps involved to draw a bitmap: Load bitmap using LoadBitmap or ...