angularjs定时任务的设置与清除
来源:互联网 发布:知足知不足的阅读答案 编辑:程序博客网 时间:2024/06/04 03:32
人们似乎常常将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);
清除定时任务,AngularJS将会在scope中触发$destory事件。这让我们可以有机会来cancel任何潜在的定时器。
$scope.$on('$destroy',function(){ $interval.cancel(timeout_upd); })
注意:angularjs中设置了定时任务之后,必须清除定时任务,不然angularjs会在离开这个controller后,仍然会执行这个定时任务。
1 0
- angularjs定时任务的设置与清除
- angularjs定时任务的设置与清除
- 定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- linux定时任务的设置
- windows的定时任务设置
- Extjs4 定时任务的设置
- Linux定时任务的设置
- linux定时任务的设置
- windows的定时任务设置
- linux定时任务的设置
- AndroidStutio JNI/NDK开发(easy)
- [李景山php]每天laravel-20161017|ResponseTrait.php
- Android蓝牙源码分析——关于GKI
- NAT详解:基本原理、穿越技术(P2P打洞)、端口老化等
- 图结构练习——BFSDFS——判断可达性
- angularjs定时任务的设置与清除
- LightOJ 1035 Intelligent Factorial Factorization
- mysql注册以及安装之后无法连接解决方法
- 强制断开SqlServer连接
- 手机照片误删怎么找回
- eclipse起动无响应,停留在Loadingworkbench状态
- [李景山php]每天laravel-20161017|UploadedFile.php
- FZU 最大黑区域
- 解决:System.Data.SqlClient.SqlException: 超出了存储过程、函数、触发器或视图的最大嵌套层数(最大层数为 32).