gpt4 book ai didi

typescript - angular2 canActivate() 不适用于 Observable 响应

转载 作者:太空狗 更新时间:2023-10-29 17:44:54 25 4
gpt4 key购买 nike

我对 canActivate angular2.0.0-rc.3 有疑问。

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.create((observer:Subject<boolean>) => { observer.next(true); });
}

它不适用于 Observable 响应,但适用于简单的 bool 响应。

我该如何解决这个问题??

最佳答案

如果您添加 .first() 或通过其他方式完成 Observable,它应该可以工作:

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.create((observer:Subject<boolean>) => { observer.next(true); }).first();
}

canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean>{
console.log('canActivate with AclService');
// return true;
return Observable.of(true);
}

关于typescript - angular2 canActivate() 不适用于 Observable 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38037148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com