import { Route, PreloadingStrategy } from '@angular/router'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/observable/timer'; import 'rxjs/add/operator/switchMap'; export class PreloadSelectedModulesList implements PreloadingStrategy { preload(route: Route, load: Function): Observable { if (!route.data || !route.data.preload) return Observable.of(null); if (typeof route.data.preload === 'number') { return Observable.timer(route.data.preload).switchMap(() => load()); } return load(); } }