Как показать (сначала) экран загрузки и скрыть, когда (например, 3) запросы на получение разрешены в Angular 2+/7 Typescript

Я новичок в Angular 7, я пытаюсь показать экран загрузки при загрузке компонента приложения (корневого), а затем у меня есть 2 компонента Get1 и Get2, которые вызывают 2 запроса Get http соответственно. Как скрыть панель загрузки, когда оба запроса Get выполнены. В терминах AngularJS у нас было promise.all, чтобы знать, когда все запросы были выполнены следующим образом http://jsfiddle.net/danielzen/t7g7djzk/ Как или что делать в Angular с помощью Observables

я могу сделать это

this.navbarService.getFiscalDateList(this.resultsFilterRootObject)
  .subscribe((data: FiscalWeekListRootObject) => {

      this.fiscalWeekListRootObject = {...data};

      this.currentWeek = this.fiscalWeekListRootObject.data.vehicleFiscalDate.vehicleFiscalWeek;
      //hide loading screen since there is only one GET what to do for multiple GET requests 

    }


  );

Ожидается: скрыть экран загрузки, когда 2 Observable разрешены в Angular.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
79
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

У меня была точно такая же проблема раньше, лучший способ решить ее, на мой взгляд, - использовать перехватчик.

Вот отличная статья, объясняющая, как заставить это работать правильно, и оно отлично работает с 1 или несколькими вызовами http. Он включает в себя код, который вы можете скопировать и вставить, чтобы вы могли быстро запустить свое приложение.

https://nezhar.com/blog/create-a-loading-screen-for-angular-apps/

Вы можете сделать это, внедрив перехватчик. См. этот stackblitz здесь: https://stackblitz.com/github/melcor76/interceptors?file=src%2Fapp%2Finterceptors%2Floader.interceptor.ts

Это из этой статьи- https://blog.angularindepth.com/top-10-ways-to-use-interceptors-in-angular-db450f8a62d6

Другие вопросы по теме