为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout与$timeout的区别

setTimeout与$timeout的区别

李锋2 2017-07-31 16:53:08
setTimeout与$timeout的区别
查看完整描述

2 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

angular里的?

setTimeout是原生的,$timeout是ng封装过的,setTimeout里面改变数据不会被ng监控到。$timeout可以


查看完整回答
反对 回复 2017-07-31
?
FSYu

TA贡献152条经验 获得超59个赞

Angular中$timeout与window.setTimeout的区别

1. 在$timeout中传入的函数会被包含在try...catch中,并且在异常时将异常交给$exceptionHandler

2. window.setTimeout返回的是数字id,可以通过window.clearTimeout(id)取消,而$timeout返回的是promise对象,要取消要用$timeout.cancel(返回的promise对象)。

3. $timeout传入的function会更新作用域内的数据绑定,也就是说在function中对$scope的修改会触发更新,而window.setTimeout中对$scope的修改不会触发更新。当然$timeout有第三个参数,默认为true,如果传入false,则不会更新当前作用域的数据绑定。


查看完整回答
1 反对 回复 2017-07-31
  • 2 回答
  • 0 关注
  • 3061 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信