Можно ли отслеживать прогресс лениво загруженных модулей? - PullRequest
0 голосов
/ 04 ноября 2019

Можно отслеживать ход выполнения запросов XHR с помощью HttpClient, чтобы определить% выполнения. Можно ли также прослушивать прогресс загрузки лениво загруженных модулей?

Прослушивание событий маршрутизатора для экземпляров RouteConfigLoadStart и RouteConfigLoadEnd отлично, но не дает никакой информации о загруженном% и всехинформация, которую я нахожу в Интернете, включает какое-то решение, использующее эти события маршрутизатора.

@Component({
  selector: 'app-root',
  template: `
    <mat-progress-bar mode="indeterminate"
                      *ngIf="loadingModules"
                      style="position: absolute; z-index: 10;">
    </mat-progress-bar>
    <router-outlet></router-outlet>
  `
})
export class AppComponent implements OnInit {
  public loadingModules: boolean;

  construction(private router: Router) { }

  public ngOnInit(): void {
     let loadingModules: number = 0;

     this.router.events.subscribe((event: Event) => {
        if (event instanceof RouteConfigLoadStart) {
          loadingModules++;
        }
        if (event instanceof RouteConfigLoadEnd) {
          loadingModules--;
        }
        this.isLoadingModules = !!loadingModules;
     });
  }
}

Этот метод надежно покажет индикатор выполнения, пока загружаются какие-либо загруженные модули, однако моя цель - показатьОпределить индикатор выполнения, отражающий состояние загрузки. Это главным образом для того, чтобы предоставить пользователям относительно медленные соединения лучший UX.

...