示例:
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean{
const self = this;
const expectedType = "type1";
retrun new Promise(res => {
this.authservice.isUserAuthenticatedbyType(expectedType).then(
function (data) {
if (data === false) {
console.log(data);
self.router.navigate(['/'], { relativeTo: self.route });
}
res(data);
},
function (error) {
self.router.navigate(['/']);
res(false);
}
);
});
}
我知道一种解决方案是将prop的类型重构为命名接口,但是也可以通过这种方式完成(无需重复类型定义)吗?
答案 0 :(得分:0)
您可以重复相同的类型。如果两次描述相同类型,则将它们视为兼容。
显然,在这种情况下,命名类型更为优雅,但是您知道这一点。