输入'字符串' | null 不可分配给类型“字符串”

问题描述

我正在使用 angular-jwt 来检查令牌是否过期,并且在使用时出现此错误

输入'字符串' | null 不可分配给类型 'string'

helper = new JwtHelperService();

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

错误

enter image description here

enter image description here

解决方法

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

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

您的令牌不能为空。试试

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

这是解决方案。

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

if (token == null)
  token = undefined;

return this.helper.isTokenExpired(token);