Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将自定义HttpClient与Angular Universal一起使用?_Angular_Angular Universal - Fatal编程技术网

如何将自定义HttpClient与Angular Universal一起使用?

如何将自定义HttpClient与Angular Universal一起使用?,angular,angular-universal,Angular,Angular Universal,我正在对现有Angular应用程序进行移植,以使用SSR。我发现,在执行一个服务器调用时,在发送HTML之前并没有等待服务器调用完成。我发现,由于我使用的是自定义HTTP客户机,所以在发送html之前,它不会等待数据返回。如果我将注入的HTTP客户端与内置的Angular客户端交换,它会正确地等待调用在html中呈现,然后返回UI。关于如何使用定制的HttpClient使其正常工作,有什么想法吗?我使用的是定制的httpClients,它扩展了内置的httpClients,这样我就可以根据不同的

我正在对现有Angular应用程序进行移植,以使用SSR。我发现,在执行一个服务器调用时,在发送HTML之前并没有等待服务器调用完成。我发现,由于我使用的是自定义HTTP客户机,所以在发送html之前,它不会等待数据返回。如果我将注入的HTTP客户端与内置的Angular客户端交换,它会正确地等待调用在html中呈现,然后返回UI。关于如何使用定制的HttpClient使其正常工作,有什么想法吗?我使用的是定制的httpClients,它扩展了内置的httpClients,这样我就可以根据不同的用例拥有多个不同的拦截器

自定义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}`);
  }

任何帮助都将不胜感激

这有用吗?当我昨天看到这个问题时,我非常激动,但不幸的是,在新的HttpClient出现之前,很多讨论似乎都适用于旧的Http模块。我甚至找不到他们在
angular/universal
angular/angular
repos中作为解决方案引用的一些类。哦,对了,我没有注意。也许这与
HttpClient
的原理/问题是一样的,但我没有深入研究代码……是的,我以前从未浏览过通用代码,所以很难看到它在处理什么,等待异步调用。我现在的计划是把一个非常糟糕的绷带放在适当的位置,完成SSR转换,然后如果没有其他人知道的话,找到一个合适的解决方案。这有帮助吗?当我昨天看到这个问题时,我非常激动,但不幸的是,在新的HttpClient出现之前,很多讨论似乎都适用于旧的Http模块。我甚至找不到他们在
angular/universal
angular/angular
repos中作为解决方案引用的一些类。哦,对了,我没有注意。也许这与
HttpClient
的原理/问题是一样的,但我没有深入研究代码……是的,我以前从未浏览过通用代码,所以很难看到它在处理什么,等待异步调用。我现在的计划是把一个非常糟糕的绷带放在适当的位置,完成SSR转换,然后找到一个合适的解决方案,如果没有其他人知道的话。