快捷导航

setTimeout与$timeout的区别

setTimeout与$timeout的区别

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

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

使用道具 举报

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,则不会更新当前作用域的数据绑定。
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP