我正在通过现有的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}`);
}
任何帮助将不胜感激!