Я использую APP_INITIALIZER в угловом приложении 5, которое загружает некоторые конфигурации из вызова API.
Я ожидаю, что APP_INITIALIZER будет запускаться только один раз, когда приложение загружается в первый раз, но я вижумоя логика APP_INITIALIZER запускается при каждом переходе к новому маршруту.
Работает ли APP_INITIALIZER при каждом изменении маршрута, и есть ли способ запустить его только один раз?Псевдокод:
//app.module.ts
import { NgModule, APP_INITIALIZER } from '@angular/core';
import { AppLoadService } from './app-load.service';
export function loadInitialData(appLoadService: AppLoadService) {
return () => appLoadService.loadInitialData();
}
{ provide: APP_INITIALIZER,
useFactory: loadInitialData,
deps: [AppLoadService],
multi: true
}
// app-load.service.ts
loadInitialData(): Promise<any> {
return new Promise((resolve, reject) => {
const getConfig= this.http.get<any>(URL);
return getConfig.subscribe(response=> {
return resolve();
});