【发布时间】:2017-11-24 19:22:19
【问题描述】:
我无法获取并设置会话以下是我的代码:
login_btnClick() {
var NTLoginID = ((document.getElementById("NTLoginID") as HTMLInputElement).value);
this._homeService.get(Global.BASE_USER_ENDPOINT + '/EmployeeDetailsApi?user_id=' + NTLoginID)
.do(data => sessionStorage.setItem('session',JSON.stringify(data)))
.subscribe(homes => { this.homes = homes; this.indLoading = false; },
error => this.msg = <any>error);
var session = sessionStorage.getItem('session');
alert(JSON.stringify(session));
this.router.navigateByUrl('/user');
}
我只得到空值,而不是确切的值。我从.do(data => alert(JSON.stringify(data))) 获得价值。我是 angular2 的新手,请帮忙。
【问题讨论】:
-
它是因为你试图在设置值之前获取值
var session = sessionStorage.getItem('session');行将立即执行而不等待this._homeService.get的结果 -
@jitender 我在获取之前设置了会话。
.do(data => sessionStorage.setItem('session',JSON.stringify(data)))。如果我错了,请纠正我。 -
sessionStorage.getItem将在您上面提到的行之前执行 javascript 不会等待您的get方法完成
标签: angular typescript