Есть CanActive, который стоит на определенном маршруте, что бы не допустить переходов по запрещенным маршрутам в зависимости от ролей.
Так вот, этот CanActive срабатывает раньше события обращения к API запроса данных пользователя...
Пробовал выполнить инициализацию пользователя через APP_INITIALIZER:
export function appInitializerFactory(authService: AuthorizationService, permissionsService: PermissionService) {
console.log("appInitializerFactory1");
return async () => {
authService.authorize().pipe(tap(() => {
permissionsService.currentUser = authService.currentUser;
console.log("appInitializerFactory2");
})).toPromise();
};
}
Да, фабрика стартует раньше CanActive, но CanActive не дожидается завершения и сообщение appInitializerFactory2 возникает позже...