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