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