AngularJS有一个$ timeout服务,它充当了setTimeout的便利包装。
为什么没有setInterval的等价物?
答案 0 :(得分:2)
由于$ timeout在每次调用后调用scope.apply
,因此可能会变得昂贵。但是,创建一个简单的间隔,您可以决定需要哪些手表和应用调用来保持干净。
例如,如果您的间隔每分钟运行一次以检查用户的值是否已更改,并且如果自上次检查后值已更改,则可选择保存它。根据您编写代码的方式,您可能永远不需要更新网页,因此interval
可以在不触发更新的情况下通过。
这并没有直接回答为什么默认情况下没有提供$ interval的问题,但我怀疑是因为根据您的特定要求创建自己的间隔很简单,最好让它为您打开增强,而不是提供太复杂或太不灵活的默认实现。