我使用 HttpInterceptor 设置“承载令牌”标题以登录 Angular,当我登录服务器时返回一个令牌并将其保存在 Response 变量中,但我需要一个 Request 变量,这就是我使用 Intercept 的原因。
export class TokenInterceptorService implements HttpInterceptor {
constructor(private authService: AuthService) { }
intercept(req, next) {
const tokenizeReq = req.clone({
setHeaders: {
authorization: `Bearer ${this.authService.getToken()}`
}
});
return next.handle(tokenizeReq);
}
}
导航器中令牌为 Null 的图像我使用 Google Chrome
好吧,当我打印变量时,我发现问题我在令牌不存在时设置令牌,
截取打印令牌时的图像
当我正确使用 setTimeout 打印令牌但我不知道如何在方法拦截中使用时,我尝试了不同的方法来使用此方法,但是当我尝试添加它时,我不知道如何在方法拦截()中使用 setTimeout
当我使用 setTimeout 打印令牌时的代码
export class TokenInterceptorService implements HttpInterceptor {
constructor(private authService: AuthService) { }
intercept(req, next) {
const tokenizeReq = req.clone({
setHeaders: {
authorization: `Bearer ${this.authService.getToken()}`
}
});
setTimeout(() => {
const token = this.authService.getToken();
console.log(token);
}, 100);
return next.handle(tokenizeReq);
}
}
如何在方法 intercept() 中使用 setTimeout 我尝试保存变量但设置数字(6、5 或 9)我不知道该怎么做。