【发布时间】:2018-11-15 23:07:50
【问题描述】:
我有一个带有这个函数的服务,它返回真或假,而不是令牌是否有效
loggedIn() {
return this.http.get('http://localhost:3000/users/validateToken')
.map(res => res.json()).map(data => data.success);
}
我有一个身份验证守卫,可以在使用它的受保护路由上激活。
canActivate(){
this.authService.loggedIn().subscribe(res => {
if(res) {
return true;
}
else {
this.router.navigate(['/login'])
return false;
}
})
}
但是我得到了这个错误。
错误地实现了接口“CanActivate”。财产类型 'canActivate' 不兼容。 类型 '() => void' 不可分配给类型 '(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => boolean | 承诺 |观察者...'。 类型 'void' 不能分配给类型 'boolean |承诺 |可观察的'。
我怎样才能实现我在这里尝试做的事情?
【问题讨论】:
标签: javascript angular canactivate