0

这是一直困扰我的事情。

在一个典型的 Web 应用程序中,请求发送到服务器,服务器完成它的“工作”并返回模板和数据,准备好在浏览器上显示。

然而,在 Angular 中,有一个获取模板的响应,并且在大多数情况下,还有另一个获取数据的响应。

这不会增加带宽压力吗?与来自典型 Web 应用程序的响应相比,通过网络发送的响应是 2 个。它是否也意味着(可能)更高的页面加载时间?

谢谢,阿伦

4

1 回答 1

1

简短的回答是视情况而定。:)

例如,就带宽而言,它取决于“服务器端”视图渲染负载的大小。如果负载非常大,那么分离调用可能会减少带宽。这是因为 JSON 有效负载可能更轻(更少的尖括号),因此整体带宽可能会减少。此外,许多使用 ajax 的应用程序已经进行了多次调用(用于部分视图等)。

至于性能,您应该在您的应用程序中对其进行测试。如果您正在编写服务并且一个服务可能需要比另一个更长的时间,那么调用两次是有好处的。例如,如果您需要布局产品,而提供“仓库编号”的服务比产品详细信息需要更长的时间。然后,应用程序可以看到感知的性能提升。在服务器端视图渲染模型中,您必须等待所有服务调用完成,然后才能返回渲染视图。

此外,客户端视图渲染将减少服务器的 CPU 负担,因为视图渲染将分布在每个客户端的机器上。这可能会对并发用户的数量和应用程序可以处理的数量产生很大的影响。

希望这可以帮助。

于 2013-08-15T10:43:02.007 回答