【发布时间】:2017-06-26 21:00:33
【问题描述】:
我还没有找到关于 setTimeout 用法和 Angular 2+ 性能的好的信息。 setTimeouts 如何影响性能,当 setTimeout 被触发时 Angular 会做什么?一个网站建议它会导致脏检查,但在我的测试中,我没有看到明显的差异。
UI 使用示例:虽然我尽可能避免使用 setTimeouts,但我遇到了对具有相对频率的 UI 组件的需求。例如,假设所有可能的组件都加载到 webapp 上,在用户交互之后,我可能想要获取元素的 offsetWidth,但在渲染元素之前它不会返回实际宽度。这是许多其他 UI 相关代码中最简单的示例,其中永恒的 setTimeout 是完美的。因此,当我设置属性 elemWidth(继续示例)时,我希望/希望 Angular 只关心我更改了一个组件实例中的一个属性,而不进行任何其他对象检查。当我从整个 UI 组件库中删除所有 setTimeouts 以使用所有这些实例的许多实例针对 web 应用程序测试性能时,Chrome 并没有显示从删除这些组件中获得任何好处......我想要尽可能快的组件,那么 setTimeouts 如何影响Angular 2+ 的性能,以及 Angular 对它们的反应是什么?
【问题讨论】:
标签: performance angular settimeout