在我的代码中,我需要设置标题授权(Bearer +令牌),但是当我打印它时,该载体为null,但是我的本地存储中存在一个可变令牌
代码auth.services.ts
getToken() {
const token = localStorage.getItem('token');
console.log(token);
return token;
}
token-interceptor.ts
constructor(private authService: AuthService) { }
intercept(req, next) {
const tokenizeReq = req.clone({
setHeaders: {
authorization: `Bearer ${this.authService.getToken()}`
}
});
return next.handle(tokenizeReq);
}
控制台中的输出
网络变量
LocalStorage
我不知道如何设置null。为什么会这样
答案 0 :(得分:1)
我认为设置令牌需要一段时间,因为局部变量请使用await和async函数生成并设置令牌
例如:-
async setToken(token){
await localStorage.setItem('token', token);
}
答案 1 :(得分:0)
请您尝试以下操作:
setTimeout(function() {
let token = localStorage.getItem('token');
}, 50);
如果您试图在设置令牌后立即获取令牌值,它将无法正常工作,并且您将获得null,请在调用localStorage.getItem
完成后尝试调用setItem
。