Angular provideAppInitializer is initialized after ngOnInit

Discussão em 'Angular' iniciado por Wynny, Março 13, 2025.

  1. Wynny

    Wynny Guest

    I have in my ApplicationConfig provider

    provideAppInitializer(() => {
    inject(AppConfigService)
    })


    In component MainPageComponent I have ngOnInit(), which geting data from backend every refresh.

    ngOnInit() {
    this.loginService.getHi().subscribe({
    next: result => {
    this.text = result;
    void this._router.navigate(['mainPage'])
    },
    error: err => {
    void this._router.navigate(['login'])
    console.log("Login failed", err);
    },
    complete: () => {
    console.log('Login process completed ' + localStorage.getItem("token"));
    }
    })


    problem is Global app initialization is after ngOnInit() is called, how to avoid it?

    AppConfigService

    export class AppConfigService {
    private appConfig!: AppConfig;

    constructor(private readonly http: HttpClient) {
    void this.loadAppConfig();
    }

    loadAppConfig(): Promise<any> {
    return firstValueFrom(this.http.get<AppConfig>('/config/config.json').pipe(tap(data => {
    console.log('my data ' + JSON.stringify(data));
    this.appConfig = data;
    })));
    }

    getBackendBaseUrl(): string {
    return this.appConfig.environment.backendURL;
    }

    Continue reading...

Compartilhe esta Página