当前位置:首页 > 日记 > 正文

AngularJs定时器$interval 和 $timeout详解

AngularJs定时器$interval 和 $timeout详解

$interval

window.setInterval的Angular包装形式。Fn是每次延迟时间后被执行的函数。

间隔函数的返回值是一个承诺。这个承诺将在每个间隔刻度被通知,并且到达规定迭代次数后被取消,如果迭代次数未定义,则无限制的执行。通知的值将是运行的迭代次数。取消一个间隔,调用$intreval.cancel(promise)。

备注:当你执行完这项服务后应该把它销毁。特别是当controller或者directive元素被销毁时而$interval未被销毁。你应该考虑到在适当的时候取消interval事件。

使用:$interval(fn,delay,[count],[invokeApply],[Pass]);

fn:一个将被反复执行的函数。

delay:每次调用的间隔毫秒数值。

count:循环次数的数值,如果没设置,则无限制循环。

invokeApply:如果设置为false,则避开脏值检查,否则将调用$apply。

Pass:函数的附加参数。

方法:

cancel(promise);

取消与承诺相关联的任务。

promise:$interval函数的返回值。

使用代码:

 (function () {  angular.module("Demo", [])  .controller("testCtrl",["$interval",testCtrl]);  function testCtrl($interval){   var toDo = function () {     console.log("Hello World");   };   $interval(toDo, 3000, 10);  }; }());

$timeout

window.setTimeout的Angular包装形式。Fn函数包装成一个try/catch块,代表$exceptionHandler服务里的任何异常。

timeout函数的返回值是一个promise,当到达设置的超时时间时,这个承诺将被解决,并执行timeout函数。

需要取消timeout,需要调用$timeout.cancel(promise);

使用: $timeout(fn,[delay],[invokeApply]);

fn:一个将被延迟执行的函数。

delay:延迟的时间(毫秒)。

invokeApply:如果设置为false,则跳过脏值检测,否则将调用$apply。

方法:

cancel(promise);

取消与承诺相关联的任务。这个的结果是,承诺将被以摒弃方式来解决。

promise:$timeout函数返回的承诺。

 (function () {  angular.module("Demo", [])  .controller("testCtrl",["$timeout",testCtrl]);  function testCtrl($timeout){   var toDo = function () {     console.log("Hello World");   };   $timeout(toDo,5000)  }; }());

大致使用方法可以和原生js的setInterval和setTimeout那样使用,一些使用小技巧可以用在浏览器单线程的事件执行方面... 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

相关文章

详解微信小程序Radio选中样式切换

详解微信小程序Radio选中样式切换

详解,样式,程序,电脑软件,微信小,详解微信小程序Radio选中样式切换本篇文章主要讲解在微信小程序中如何根据Radio选中来切换样式。效果如下:原理主要是通过判断一个radio-group中哪个被选中,就让它加上一个“active”的样式。代码如下:<!--ind…

通过学习bootstrop导航条学会修改b

通过学习bootstrop导航条学会修改b

修改,导航条,基调,学习,颜色, 通过bootstrap文档对导航条样式的设置发现,其实本身是有一个类似于主题的概念- navbar-default:默认的外观- navbar-inverse:暗色背景的样式- 所以我们希望可以通过自定义一套完整的风格:比如自定义一个颜色基调 …

jQuery实现返回顶部按钮和scroll滚

jQuery实现返回顶部按钮和scroll滚

动画效果,返回顶部,按钮,功能,电脑软件,jQuery脚本:<script type="text/javascript"> $(function() { var scrollDiv = document.createElement('div'); $(scrollDiv).attr('id', 'toTop').html('^ 返回顶部').ap…

常用正则表达式匹配代码介绍

常用正则表达式匹配代码介绍

正则表达式,常用,代码,电脑软件,正则表达式,又称正规表示法、常规表示法。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则。在很多文本编辑器…

JavaScript判断输入是否为数字类型

JavaScript判断输入是否为数字类型

类型,输入,数字,方法,电脑软件,JavaScript判断输入是否为数字类型的方法总结前言很多时候需要判断一个输入是否位数字,下面简单列举集中方法。第一种方法 isNaNisNaN  返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。 NaN 即…

JS实现unicode和UTF-8之间的互相转

JS实现unicode和UTF-8之间的互相转

转换,电脑软件,JS,unicode,UTF,有一设备,为短信网关。需将PC送过来的UTF-8转换成UNICODE才能将内容通过短信发送出去,同样,接收到的短信为unicode编码,也许转换成UTF-8才能在PC端软件显示出来。程序很简单,只是走了不少弯路://unicode为1个接收…

vue.js利用Object.defineProperty

vue.js利用Object.defineProperty

双向绑定,电脑软件,js,vue,defineProperty,Object.defineProperty这个方法了不起啊,vue.js是通过它实现双向绑定的。。而且Object.observe也被草案发起人撤回了。。所以defineProperty更有必要了解一下了。几行代码看他怎么用var a= {}Objec…

word2013解决中文双引号变成英文的

word2013解决中文双引号变成英文的

中文,双引号,两种,英文,技巧,  Word2013经常在输入中文双引号时,前半个双引号还是是中文格式的双引号,但在后半个双引号时就变成了英文格式的双引号,如下图所示很不协调。那么下面就由小编给大家分享下word2013中解决中文双引号变成英文双引…

服务器选购十大术语解释

服务器选购十大术语解释

术语,解释,服务器,十大,电脑软件,  我们将对服务器选购时最令选购者产生困惑的10个概念 加以解释,希望能够对购买者以后的购买活动提供参考。1.企业(Enterprise):指任何大中小型公司(或者非赢利组织以及政府机关)。一般地,我们更频繁的使用…

PPT与Excel交互VBA法是什么

PPT与Excel交互VBA法是什么

交互,电脑软件,PPT,Excel,VBA,  PowerPoint和Office其他格式文件交换数据最好的方法是通过VBA,因为这句话,很多朋友来信询问用VBA如何实现PPT与Excel连接。以下是小编为您带来的关于PPT与Excel交互之VBA法,希望对您有所帮助。PPT与Excel交互…

IIS不支持APK文件下载的解决办法

IIS不支持APK文件下载的解决办法

文件下载,不支持,解决办法,电脑软件,IIS,将安卓android客户端程序.apk文件上传到网站上后,发现竟然无法下载。.apk就是安卓应用的后缀名,一般通过手机直接输入apk的网址,就可以下载。但是默认情况下,使用IIS作为Web服务器的网站无法下载apk文件…

javascript  删除select中的所有op

javascript 删除select中的所有op

删除,实例,电脑软件,javascript,option,javascript 删除select中的所有option的实例方法一:function DeleteOptions() { var obj = document.getElementsByTagName("select")[0]; var selectOptions = obj.options; var op…