Преобразователь Angular 2 вызывает бесконечный цикл при использовании перенаправления внутри распознавателя - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть следующий распознаватель, который вызывает API-сервис.в зависимости от результата, который я получаю, я хочу перенаправить пользователя на определенный экран:

@Injectable()
export class TenantStatusResolver implements Resolve<any> {

  tenantStatus: OnboardStatusEnum = OnboardStatusEnum.TenantyType;

  constructor(
    private _httpClient: HttpClient,
    private _router: Router) {
  }

  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<any> | Promise<any> | any {

    if (this.tenantStatus === OnboardStatusEnum.Completed) {
      return;
    }

    return new Promise((resolve, reject) => {
      this._httpClient.get(environment.api.onboarding.tenantStatus).subscribe((response: TenantOnboardStatusDto) => {
        this.tenantStatus = response.onboardStatus;
        this._router.navigate(["/main/onboarding/tenant-type"]);
        resolve();
      }, reject);
    });

  }
}

, и в моем main.module.ts у меня есть

const routes = [
    {
      path: '',
      resolve: {
        tenantStatus: TenantStatusResolver
      },
      children: [
        {
          path        : 'onboarding',
          loadChildren: './onboarding/onboarding.module#OnboardingModule',
          canLoad: [AuthenticationRouteGuard]
        },

Проблема в том, что распознаватель получаетв бесконечном цикле.В чем здесь проблема?

...