Загрузка данных


public isInitialized$(): Observable<boolean> {
  return this.isInitializedSubject.asObservable();
}

public waitUntilReady(): Promise<void> {
  if (this.isInitializedSubject.value) {
    return Promise.resolve();
  }

  const loadingPromise = this.loadingPromise;

  if (!loadingPromise) {
    return Promise.resolve();
  }

  return loadingPromise.then(() => {
    if (this.isInitializedSubject.value) {
      return;
    }

    return this.waitUntilReady();
  });
}

public isLoadingValue(): boolean {
  return this.isLoadingSubject.value;
}