我正在尝试从前端向 apiRest 端点询问信息后获取代码,我的问题是我需要在我正在解码 JSW 令牌的信息中要求一个元素,但由于某种原因我可以' t 分配元素,我认为我的异步/承诺有问题。
我的错误被标记在 ngOninit 内的 tokeninfo.userId 上,它说下一个: 'Promise' 类型不存在属性 'UserId'
TeamDataModel: TeamDataModel = new TeamDataModel();
btnSubmit: HTMLButtonElement;
UserModelData: UserModelData = new UserModelData();
CompanyModelData: CompanyModelData = new CompanyModelData();
ngOnInit(): void {
this.InitForms();
// Consiguiendo el ID del URL
this._route.paramMap.subscribe((params => {
if (params.has('CompanyId')) {
this.CompanyModelData.CurrentCompanyId = params.get('CompanyId');
}
}));
const info: any = localStorage.getItem('_$');
const token = atob(info);
const tokeninfo = this.DecodedToken(token);
this.UserModelData.UserId = tokeninfo.UserId;
this.SelectCompanysByUserId(this.UserModelData.UserId);
}
async DecodedToken(token) {
try {
const res: ResponseModel = await this._login.DecodedToken(token).toPromise();
if (res.Code == ECodeResponse.Ok){
return token = res.Data;
}
}catch{}
}
如果您需要更多信息,请向他们索取
答案 0 :(得分:0)
异步函数总是返回一个promise,所以如果你需要内容,你需要解析promise:
this.DecodedToken(token).then(tokeninfo => {
this.UserModelData.UserId = tokeninfo.UserId;
this.SelectCompanysByUserId(this.UserModelData.UserId);
});