Почему app_initializer не может перейти к другому компоненту, но все остальное работает?

#angular #typescript #routes #navigation #angular8

Вопрос:

Проблема в том, что, как только обещание будет выполнено, оно должно направить меня к какому-либо компоненту по моему выбору, скажем, к домашнему компоненту, но это не так, и сказать, что маршрут не определен. Я перепробовал буквально все, но не смог заставить это работать.

Это инициализатор, который срабатывает, когда приложение загружается прямо перед всем. Я попытался вызвать некоторые другие веб-сервисы в приложении, и это работает, но маршрут не работает.

Javascript windows.location.href -плохая идея, так как он попадает в инициализатор и продолжает работать в бесконечном цикле.

 import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser'; 
import { CommonModule } from '@angular/common'; 
import { APP_INITIALIZER } from '@angular/core'; 
import { AuthService } from '../_services/auth.service'; 
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Router } from '@angular/router'; 

export function ini(http: HttpClient, router: Router,) 
{ 
return async () => { 
 const cre = 'username='   'test'  'amp;password='   encodeURIComponent('root')   'amp;grant_type='   'password';

 var reqH= new HttpHeaders;     reqHeader.set('Content-Type','application/.      x-www-form-urlencoded');
 
 reqH.set('Access-Control-Allow-Origin','*'); 

const Login = "localhost:44343/login/check"; 

await http.post(Login, credentials, { headers: reqH }).toPromise().then( (data:any)=> { router.navigate(["/NoPermission"]); }); } } 

@NgModule(
  { 
    providers: [ { provide: APP_INITIALIZER, 

    useFactory: ini ,
    deps: [HttpClient, Router], 
    multi: true, 
    }, 
], 

imports: [ CommonModule, BrowserModule ] }) 

export class TypesModule { }