如何将会话存储中的 jwt 令牌保存到变量中?

How to save jwt token from session storage into variable?

我进行了 jwt 授权,并将该令牌存储到会话存储中,但是当我尝试将该令牌放入字符串中并记录它时,我得到了 null,这就是函数

login(user : User): void
  {
    this.header= new Headers({"content-Type": "application/json"});
    this.osobaService.create(user,this.tokenUrl,this.header).then(p=> {sessionStorage.setItem("Token",p._body.slice(1,-1))});
    this.tokenString = sessionStorage.getItem("Token");
    console.log(this.tokenString);
  }

应该是简单的 getItem 方法,但我得到的是 null 。

'this.osobaService.create' 是一个异步函数。您正在尝试记录一个值,然后再写入它。如果您像这样更改代码,这应该会记录一个正确的值。

login(user : User): void
  {
    this.header= new Headers({"content-Type": "application/json"});
    this.osobaService.create(user,this.tokenUrl,this.header)
        .then(p=> {
             sessionStorage.setItem("Token",p._body.slice(1,-1))
             this.tokenString = sessionStorage.getItem("Token");
             console.log(this.tokenString);
        });
  }