如何将自定义HttpClient与Angular Universal一起使用?
我正在对现有Angular应用程序进行移植,以使用SSR。我发现,在执行一个服务器调用时,在发送HTML之前并没有等待服务器调用完成。我发现,由于我使用的是自定义HTTP客户机,所以在发送html之前,它不会等待数据返回。如果我将注入的HTTP客户端与内置的Angular客户端交换,它会正确地等待调用在html中呈现,然后返回UI。关于如何使用定制的HttpClient使其正常工作,有什么想法吗?我使用的是定制的httpClients,它扩展了内置的httpClients,这样我就可以根据不同的用例拥有多个不同的拦截器 自定义Http客户端如何将自定义HttpClient与Angular Universal一起使用?,angular,angular-universal,Angular,Angular Universal,我正在对现有Angular应用程序进行移植,以使用SSR。我发现,在执行一个服务器调用时,在发送HTML之前并没有等待服务器调用完成。我发现,由于我使用的是自定义HTTP客户机,所以在发送html之前,它不会等待数据返回。如果我将注入的HTTP客户端与内置的Angular客户端交换,它会正确地等待调用在html中呈现,然后返回UI。关于如何使用定制的HttpClient使其正常工作,有什么想法吗?我使用的是定制的httpClients,它扩展了内置的httpClients,这样我就可以根据不同的
@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}`);
}
任何帮助都将不胜感激 这有用吗?当我昨天看到这个问题时,我非常激动,但不幸的是,在新的HttpClient出现之前,很多讨论似乎都适用于旧的Http模块。我甚至找不到他们在
angular/universal
或angular/angular
repos中作为解决方案引用的一些类。哦,对了,我没有注意。也许这与HttpClient
的原理/问题是一样的,但我没有深入研究代码……是的,我以前从未浏览过通用代码,所以很难看到它在处理什么,等待异步调用。我现在的计划是把一个非常糟糕的绷带放在适当的位置,完成SSR转换,然后如果没有其他人知道的话,找到一个合适的解决方案。这有帮助吗?当我昨天看到这个问题时,我非常激动,但不幸的是,在新的HttpClient出现之前,很多讨论似乎都适用于旧的Http模块。我甚至找不到他们在angular/universal
或angular/angular
repos中作为解决方案引用的一些类。哦,对了,我没有注意。也许这与HttpClient
的原理/问题是一样的,但我没有深入研究代码……是的,我以前从未浏览过通用代码,所以很难看到它在处理什么,等待异步调用。我现在的计划是把一个非常糟糕的绷带放在适当的位置,完成SSR转换,然后找到一个合适的解决方案,如果没有其他人知道的话。