Angular 角度传感器中旋转变压器的性能问题

Angular 角度传感器中旋转变压器的性能问题,angular,angular-httpclient,Angular,Angular Httpclient,我正在为我们的应用程序创建一个仪表板组件,其中包含两个子组件,它们也有子组件(参见下图) 所有这些组件都有(8)个HTTP请求连接到不同的端点,以便能够显示适当的数据(统计数据)和相当大的数据。现在我遇到了性能差的问题 当用户在仪表板中,当内容正在加载(Http请求正在进行)并决定移动到另一个组件(比如用户页面)时,从浏览器的调试网络选项卡中可以看到,所有Http请求都将被取消。而解析器(获取更新用户详细信息的UserResolver)http请求的状态为挂起 现在的问题是,请求需要一段时间才

我正在为我们的应用程序创建一个仪表板组件,其中包含两个子组件,它们也有子组件(参见下图)

所有这些组件都有(8)个HTTP请求连接到不同的端点,以便能够显示适当的数据(统计数据)和相当大的数据。现在我遇到了性能差的问题

当用户在仪表板中,当内容正在加载(Http请求正在进行)并决定移动到另一个组件(比如用户页面)时,从浏览器的调试网络选项卡中可以看到,所有Http请求都将被取消。而解析器(获取更新用户详细信息的UserResolver)http请求的状态为挂起

现在的问题是,请求需要一段时间才能完成并转到路由更改。我已经检查了后端web服务器日志,虽然浏览器的状态为“挂起”,但它尚未反映到日志中

我的假设是,Angular不会在“路由更改”时立即启动解析程序的http请求。如果是即时的,那么我应该从web服务器日志中看到,对吗?

回答1:-

调用多个API时,需要使用forkJoinRXJS方法。 例如:-

let userData = this.userService.getUserList();
let analyticsData = this.analyticService.getUserAnalyticsData();
...
...

forkJoin([userData, analyticsData]).subscribe(res =>{
this.userDatas = res[0];
this.analyticsDatas = res[1];
}
答复2:-


您必须使用forkJoin方法立即订阅API调用。

如果是这种情况,那么我应该调用所有http请求到主组件并传递给子组件。我得看看这个。谢谢