Angular Universal渲染等待Http Result Observable Subscriber

时间:2017-04-08 01:46:22

标签: angular asp.net-web-api asp.net-core rxjs

我有一个调用ASP.Net Web API服务的Angular Universal应用程序。

我已将控制台写入Angular调用Web服务(由组件的构造函数或ngOnInit启动,我尝试了两者)和Typescript中的订阅者函数以及Web API方法

运行应用程序时,我注意到Angular Universal应用程序不会等待Web API的结果。

我得到的最后一个控制台写消息来自Web API,而不是来自订阅者调用中的函数。

如何强制Angular Universal应用程序在完成渲染之前等待结果?

1 个答案:

答案 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>