博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
angularjs 中的setTimeout(),setInterval() / $interval 和 $timeout
阅读量:6368 次
发布时间:2019-06-23

本文共 1117 字,大约阅读时间需要 3 分钟。

$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函数的返回值。

myApp.controller('firstController',function($scope,$interval,$timeout){//需要依赖$interval

var stop = $interval(function(){

consoel.log("aaaaaaaaaaaa");
}, 100);

$interval.cancel(stop)

})

$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函数返回的承诺。

 

转载于:https://www.cnblogs.com/xqschool/p/6232859.html

你可能感兴趣的文章
POJ-2513 Colored Sticks 字典树,欧拉回路
查看>>
让英文版windows 8支持非Unicode程序的语言方法
查看>>
威胁情报平台
查看>>
UnsupportedOperationException:can't convert to dimension :typx=0x1
查看>>
iOS之Cookie
查看>>
计算机网络学习笔记--传输层知识总结
查看>>
Android Dagger依赖注入框架浅析
查看>>
数据分析系统DIY1/3:CentOS7+MariaDB安装纪实
查看>>
常用分析工具
查看>>
PhotoShop切图
查看>>
[LeetCode] Water and Jug Problem 水罐问题
查看>>
java数组遍历——iterator和for方法
查看>>
Linux程序存储结构与进程结构堆和栈的区别【转】
查看>>
重置 radio 和 checkbox 的样式
查看>>
Android实战简易教程-第二十三枪(基于Baas的用户注冊和登录模块实现!)
查看>>
oc59--匿名分类
查看>>
redis 持久化
查看>>
机器学习算法总结
查看>>
高效的找出两个List中的不同元素
查看>>
Revit二次钢筋
查看>>