我有一个调用ASP.Net Web API服务的Angular Universal应用程序。
我已将控制台写入Angular调用Web服务(由组件的构造函数或ngOnInit启动,我尝试了两者)和Typescript中的订阅者函数以及Web API方法
运行应用程序时,我注意到Angular Universal应用程序不会等待Web API的结果。
我得到的最后一个控制台写消息来自Web API,而不是来自订阅者调用中的函数。
如何强制Angular Universal应用程序在完成渲染之前等待结果?
答案 0 :(得分:0)
只要您使用的是 Angular HttpClient
,服务器端渲染就应该等待它完成,然后再提供您的响应。
如果这对您不起作用,请尝试使用模板代码中的 | async
管道订阅调用。
例如:
export class MyComponent {
public response$ = this.httpClient.get<string>('https://my.api');
constructor(private httpClient: HttpClient){}
}
<span> {{ response$ | async }} </span>