如何在Angular Universal中使用自定义HttpClient?

时间:2020-04-15 20:37:20

标签: angular angular-universal

我正在通过现有的Angular应用程序进行移植以使用SSR。我发现,在执行我的一个服务器调用时,它并没有等待服务器调用完成之后才发送HTML。我发现的是,由于我使用的是自定义HTTP客户端,因此它在发送html之前不会等待数据返回。如果我用内置的Angular交换了注入的HTTP客户端,它将正确等待调用以html呈现,然后返回到UI。关于如何使它与自定义HttpClient一起正常工作的任何想法?我使用的自定义httpClient扩展了内置的HTTPClient,因此我可以根据不同的用例使用多个不同的拦截器。

自定义Http客户端

@Injectable()
export class HttpServiceOpen extends HttpClient {
  constructor(backend: HttpBackend, private injector: Injector) {
    super(new CustomHandlerService(backend, injector, HTTP_INTERCEPTORS_2));
  }
}

组织服务

constructor(
    private httpOpen: HttpServiceExternal,
    private httpClient: HttpClient,
    private snackbar: MatSnackBar
  ) {}

  organizationUrl = `${environment.api}/organization`;

  get() {
    // return this.httpClient.get(`${this.organizationUrl}`); will work
    return this.httpExternal.get(`${this.organizationUrl}`);
  }

任何帮助将不胜感激!

0 个答案:

没有答案