Как использовать пользовательский HttpClient с Angular Universal? - PullRequest
1 голос
/ 15 апреля 2020

Я работаю над переносом через существующее приложение Angular для использования SSR. Я обнаружил, что при выполнении одного из моих вызовов к серверу он не ожидал, когда вызов сервера завершится sh, прежде чем отправить HTML. Я обнаружил, что, поскольку я использую собственный HTTP-клиент, он не ожидает возврата данных перед отправкой html. Если я заменил свой встроенный HTTP-клиент на встроенный Angular, он должным образом ожидает, пока вызов не отобразится в html, а затем вернется в пользовательский интерфейс. Любые идеи о том, как заставить это работать должным образом с пользовательским HttpClient? Я использую пользовательские 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}`);
  }

Любая помощь будет принята с благодарностью!

...