angularjs定时任务的设置与清除示例
发布时间 - 2026-01-11 01:38:43 点击率:次人们似乎常常将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在“实时数据监测”这个模块设置了一个定时任务,当我点击菜单栏到别的页面时,默认的这个定时任务还在执行,占用很多资源。所以必须得清除这个定时任务,原生的清除window.clearInterval(timeout_upd);是不管用的,必须用angularjs自带的清除方法,如上代码所示。
注意:angularjs中设置了定时任务之后,必须清除定时任务,不然angularjs会在离开这个controller后,仍然会执行这个定时任务。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# angularjs
# 定时任务
# angularjs2
# 定时器
# angularjs清除定时器
# AngularJs定时器$interval 和 $timeout详解
# Angular.js中定时器循环的3种方法总结
# AngularJS定时器的使用与移除操作方法【interval与timeout】
# Angularjs 双向绑定时字符串的转换成数字类型的问题
# 详解Angular.js数据绑定时自动转义html标签及内容
# AngularJS实现页面定时刷新
# angular2倒计时组件使用详解
# ionic+AngularJs实现获取验证码倒计时按钮
# AngularJS 支付倒计时功能实现思路
# Angular实现的简单定时器功能示例
# 你可以
# 会在
# 一遍
# 所示
# 的是
# 是一个
# 如果你
# 还在
# 第一个
# 将会
# 其他的
# 当我
# 我们可以
# 第二个
# 更重要
# 自带
# 会来
# 这让
# 方法来
# 绑定
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android利用动画实现背景逐渐变暗
如何快速生成凡客建站的专业级图册?
Bootstrap整体框架之JavaScript插件架构
Laravel如何使用模型观察者?(Observer代码示例)
如何快速搭建高效可靠的建站解决方案?
Laravel Fortify是什么,和Jetstream有什么关系
简单实现jsp分页
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
个人摄影网站制作流程,摄影爱好者都去什么网站?
如何在橙子建站中快速调整背景颜色?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何快速完成中国万网建站详细流程?
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
如何彻底卸载建站之星软件?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
微信小程序 配置文件详细介绍
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
如何在万网自助建站平台快速创建网站?
Laravel distinct去重查询_Laravel Eloquent去重方法
网站优化排名时,需要考虑哪些问题呢?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
大型企业网站制作流程,做网站需要注册公司吗?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
大连网站制作公司哪家好一点,大连买房网站哪个好?
javascript中闭包概念与用法深入理解
制作企业网站建设方案,怎样建设一个公司网站?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
零服务器AI建站解决方案:快速部署与云端平台低成本实践
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel观察者模式如何使用_Laravel Model Observer配置
EditPlus中的正则表达式实战(6)
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
PHP 500报错的快速解决方法
使用Dockerfile构建java web环境
教你用AI润色文章,让你的文字表达更专业
三星网站视频制作教程下载,三星w23网页如何全屏?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
动图在线制作网站有哪些,滑动动图图集怎么做?
焦点电影公司作品,电影焦点结局是什么?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
JavaScript中的标签模板是什么_它如何扩展字符串功能

