服务中有一个变量,用于检查用户是否被授权:
get IsAuthorized():any{
return this.apiService.SendComand("GetFirstKassir");
}
SendCommand(在通常的post
请求或get
之内):
ApiService.SendComand(Command: string, Params?: any): Observable<any>
我必须按以下步骤处理组件:
this.authorizeService.IsAuthorized.subscribe(
res => {
if (res.Name.length === 0) this.router.navigate(['/login'])
}
);
我如何使get IsAuthorized ()
返回string Name(not Observable<any>)
(位于subscribe
内部。我可以写console.log(this.authorizeService.IsAuthorized);
的组件
答案 0 :(得分:2)
这里您要处理的是异步。因此,IsAuthorized属性可以是一个Promise / Observable。我相信您正在寻找的只是一种更简单的语法。因此,我们可以使用异步/等待。
get IsAuthorized():any{
return this.apiService.SendComand("GetFirstKassir").toPromise();
}
要在组件中使用,可以在ngOnInit中说,我们可以按以下方式使用它:
async ngOnInit() {
const isAuthorized = await this.authorizeService.IsAuthorized;
if(isAuthorized) { // works like normal boolean variable
}
}
希望有帮助!!!干杯