http.get api请求在初始页面加载时调用两次

时间:2017-11-20 20:01:02

标签: angular angular-universal

我正在使用角度通用。

一旦我在初始页面加载时调用api请求表单,一旦请求完成,它就会调用两次。

问题:https://github.com/angular/universal-starter/issues/497

1

此处api不应显示在网络标签中,请帮助我解决此问题。

3 个答案:

答案 0 :(得分:0)

我认为这是因为在进行服务器端渲染时会调用API,然后在客户端接管时再次调用API。您可以使用StateTransfer API来缓存API调用结果

答案 1 :(得分:0)

使用TransferHttpCacheModule

  

TransferHttpCacheModule安装一个Http拦截器,避免客户端上的重复HttpClient请求,这些请求是在服务器端呈现应用程序时已经发出的请求。

请参阅the official documentation

答案 2 :(得分:0)

我做了一个仓库https://github.com/intergleam/universal-starter/

只需将TransferHttpCacheModule导入AppModule并使用HttpClient

  ngOnInit() {
    this.httpClient.get('https://reqres.in/api/users?delay=3').subscribe(result => {
      this.message = result;
    });
  }