Зачем нужна load () в качестве paremeter в методе preload () метода PreloadingStrategy в Angular 7 - PullRequest
0 голосов
/ 07 марта 2019

Я прошел предварительную загрузку ngModule, введение угловых маршрутизация и навигация .У меня есть вопрос о методе предварительной загрузки PreloadingStrategy class .Зачем нужен второй параметр fn: () => Observable<any>?обратитесь к примеру кода в этом руководстве.Настроенный класс PreloadingStrategy должен вызывать load() в реализованном методе предварительной загрузки.

export class SelectivePreloadingStrategyService implements PreloadingStrategy {
  //...
  preload(route: Route, load: () => Observable<any>): Observable<any> {
    if (<determine if preload>) {
      return load();
    } else {
      return of(null);
    }
}

Что я думаю, это должно быть намного проще, проще в использовании, легко понять, если preload просто возвращает логическое значение или Observable, напримерследующий кодПлатформа выполняет load () в соответствии с возвращаемым значением независимо от синхронизации или асинхронности.

preload(route: Route): boolean | Observable<any> {
  if (<determine if preload>{
    return true; // or return of(true);
  } else {
    return false; // or return of(false);
  }
}
...