Я прошел предварительную загрузку 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);
}
}