首页 > 解决方案 > 使用 Angular 和 Spring 的主动式 API 请求

问题描述

在我的 Angular Web 应用程序中,我有多个组件,每个组件都有一些下拉菜单。每个下拉更改的支持 API 请求时间都非常长。因此,为了获得更好的 UI 体验,我决定主动获取一些有意识的下拉组合的数据。为了更好的设计,我将缓存管理提取到服务中,通过该服务调用后端 API(组件 => 缓存管理器 => 后端 API)。因此,在缓存管理器中,我可以全面了解我的应用程序中发生的所有 API 请求(可能是有用的信息)。

我为这一切做好了铺垫,并Chrome max 6 TCP connections for same origin制定了破坏派对的规则。这里的挑战是我有两类请求主动和高优先级。如果必须为当前 UI 渲染功能提供数据,我认为请求具有高优先级。到目前为止,我无法控制这两类请求是如何发生的。如果发生超过 6 个主动请求,则高优先级请求会被 Chrome 停止,从而导致渲染延迟。

我的尝试: 我记得Connection: Keep-AliveHTTP 的标头和通过同一个 HTTP 连接请求多个资源的概念。但是,我无法将它们与我正在使用的框架联系起来。我可以使用 Angular 的 HttpClient 通过同一个 HTTP 连接发送多个 API 请求吗?以及应用服务器(Tomcat)如何处理它?它会并行或顺序处理同一 HTTP 连接上的多个请求吗?这次尝试会改变什么吗?我对解决这个问题的其他设计持开放态度。

标签: angularspringhttptomcatangular-httpclient

解决方案


推荐阅读