Size: a a a

2019 September 23

Sergey Фrolov in Angular Kyiv
Lili 🎈
Дату ещё не прикидывали?
Тут будет зависеть от формата. Есть вариант сделать небольшой воркшоп для начинающих уже на воскресенье.
источник

G

George in Angular Kyiv
Sergey Фrolov
Тут будет зависеть от формата. Есть вариант сделать небольшой воркшоп для начинающих уже на воскресенье.
Лого огонь
источник

Sergey Фrolov in Angular Kyiv
источник

DM

Dmytro Mazurin in Angular Kyiv
baby dont hurt me
источник

AS

Alex S in Angular Kyiv
no moooore
источник

S🥐

Sebastien 🥐 in Angular Kyiv
@dugga о как, ну привет
источник

W

Whatislove in Angular Kyiv
@SebastienV qq)
Странно я не видел это чатик раньше:D
источник

W

Whatislove in Angular Kyiv
Рекламы никакой не было
источник

VG

Vladislav Golovatyi in Angular Kyiv
Привет. Нужно получить результат этого метода, а уже после этого продолжить испольнение кода. Как это можно сделать? С промисами немного не понял. Если вместо сабскрайба просто сделать toPromise(), то код дальше метода не выполняется
источник

VG

Vladislav Golovatyi in Angular Kyiv
источник

DG

Danil Gudz in Angular Kyiv
кек
источник

DG

Danil Gudz in Angular Kyiv
isAuthenticated() {
  return this.http.get(...).pipe(map(() => true), catchError(() => of(false)));
}

////

service.isAuthenticated().subscribe(authenticated => {
 console.log(authenticated) // true | false
});
источник

VG

Vladislav Golovatyi in Angular Kyiv
сейчас попробую
источник

DG

Danil Gudz in Angular Kyiv
просьба к тем кто это увидит: кидать код кодом, а не скрином ибо иногда хочешь помочь но забиваешь потому что нужно код переписывать со скрина
источник

VG

Vladislav Golovatyi in Angular Kyiv
Danil Gudz
isAuthenticated() {
  return this.http.get(...).pipe(map(() => true), catchError(() => of(false)));
}

////

service.isAuthenticated().subscribe(authenticated => {
 console.log(authenticated) // true | false
});
тут сложность в том, что service.isAuthenticated() используется внутри AuthGuardService и методу canActivate() нужно получать boolean
источник

VG

Vladislav Golovatyi in Angular Kyiv
если с subscribe, то результат не гарантирован
источник

VG

Vladislav Golovatyi in Angular Kyiv
источник

VG

Vladislav Golovatyi in Angular Kyiv
export class AuthGuardService implements CanActivate {

 constructor(private authenticationService: AuthenticationService, private router: Router) {
 }

 canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
   this.authenticationService.isAuthenticated().subscribe(authenticated => {
       return true;
     },
     error1 => {
       this.router.navigate(['/login']);
       //  you can save redirect url so after authing we can move them back to the page they requested
       return false;
     });
 }
}
источник

NP

Nikita Perepelitsa in Angular Kyiv
Vladislav Golovatyi
export class AuthGuardService implements CanActivate {

 constructor(private authenticationService: AuthenticationService, private router: Router) {
 }

 canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
   this.authenticationService.isAuthenticated().subscribe(authenticated => {
       return true;
     },
     error1 => {
       this.router.navigate(['/login']);
       //  you can save redirect url so after authing we can move them back to the page they requested
       return false;
     });
 }
}
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
   return this.authenticationService.isAuthenticated().pipe(map(() => true), catchError(() => {
     this.router.navigate(['/login’]);
     return of(false);
})
источник

DG

Danil Gudz in Angular Kyiv
export class AuthGuardService implements CanActivate {

 constructor(private authenticationService: AuthenticationService, private router: Router) {
 }

 canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
   return this.authenticationService.isAuthenticated().pipe(tap(authenticated => {
       if(!authenticated) {
           this.router.navigate(['/login’]);
       }
     }));
 }
}
источник