typescript 类型'string'| null不能分配给类型“string”

4c8rllxm  于 2023-08-07  发布在  TypeScript
关注(0)|答案(5)|浏览(301)

我正在使用angular-jwt来检查令牌是否过期,当使用时,我得到了这个错误
类型'string'| null不能分配给类型“string”

helper = new JwtHelperService();

var token: string = localStorage.getItem('token');
this.helper.isTokenExpired(token); // this line contains the error

字符串
错误类型
x1c 0d1x的数据


2vuwiymt

2vuwiymt1#

首先你应该检查你的代币

var token: string = localStorage.getItem('token');
    if (token) {
       this.helper.isTokenExpired(token);
    }

字符串

im9ewurl

im9ewurl2#

也许可以尝试在之前添加一个“if”条件来检查“token”是否不为null:

var token: string = localStorage.getItem('token');
if (token)
   this.helper.isTokenExpired(token); // this line contains the error

字符串

siotufzp

siotufzp3#

您的令牌不能为空。试试看

let token = localStorage.getItem('token');
token = token === null ? undefined : token;
this.helper.isTokenExpired(token);

字符串

zlwx9yxi

zlwx9yxi4#

这是解决方案。

let token: any = localStorage.getItem('token');

if (token == null)
  token = undefined;

return this.helper.isTokenExpired(token);

字符串

v1l68za4

v1l68za45#

你可能会得到这个错误,因为你的var令牌可以有字符串或空值,这就是为什么你应该做的是在选项中提供一个空值。
就像这样

helper = new JwtHelperService();

var token: string|null = localStorage.getItem('token');

this.helper.isTokenExpired(token);

字符串
这个可能对你有帮助谢谢

相关问题