angular - 全局打字稿变量在订阅中分配后未更新
问题描述
这是我已将令牌值分配给全局 this.token 变量的身份验证服务文件,但我无法在订阅之外获取 this.token 的值。由于我是这方面的新手,请指出我为此所做的错误。您的回答将不胜感激!
import { Injectable } from '@angular/core';
import {HttpClient} from '@angular/common/http';
import { Router } from '@angular/router';
import { User } from './user.model';
@Injectable({providedIn: 'root'})
export class AuthService {
private token: string;
constructor(
private httpClient: HttpClient,
private router: Router
){
}
getToken() {
return this.token;
}
signup(username: string, email: string, password: string) {
const user: User = {
username: username,
email: email,
password: password
}
this.httpClient.post<{success: boolean, message: string}>('http://localhost:3000/signup', user)
.subscribe((responseData) => {
if(!responseData.success){
console.log(responseData.message)
}
else{
console.log(responseData.message)
}
})
}
login(email: string, password: string){
const user: User= {
username: null,
email: email,
password: password
}
this.httpClient.post<{token: string}>('http://localhost:3000/login', user)
.subscribe((responseData) => {
const auth_token = responseData.token;
this.token = auth_token;
console.log(this.token)
})
console.log(this.token)
}
}
解决方案
推荐阅读
- python - pd.merge "TypeError: 字符串索引必须是整数"
- asp.net - 当 asp.net mvc 中的数据库更改时重新填充下拉列表
- flutter - 使用 RefreshIndicator 刷新 Flutter 中的类
- css - 如何在 SCSS 中的两个范围之间获取字体大小?
- pdf - 将 dompdf 从 0.6 升级到 0.8,pdf 生成现在非常慢
- google-chrome-devtools - 在谷歌浏览器开发者工具中调试网格布局时如何找到网格徽章?
- javascript - 即使在外部单击也不会失去 div 的焦点
- random - 如何生成具有 4 个元素的所有可能的二进制列表?(使用 Python)
- ios - 修剪属性字符串的最后两行
- bash - 为什么从 Visual Studio 运行 .sh 脚本会打开文件而不是运行它?