【发布时间】:2017-02-21 00:14:22
【问题描述】:
我有一个如下所示的超时函数:
setTimeout(this.logout, 1000);
登录方式:
logout() {
this.auth_token = "";
this.loggedIn = false;
this.emitLogedInStatusChange();
}
isLoggedIn() {
return this.loggedIn;
}
private emitLogedInStatusChange() {
this.LoggedInStatusChangedEmitter.emit({
value: this.loggedIn
});
}
where 事件发射器告诉主组件loggedIn 的值在哪里改变。
问题是 this.emitLogedInStatusChange(); 我收到一条错误消息:
this.emitLogedInStatusChange 不是函数
我的问题是如何在注销中正确调用此函数,以便 setTimeout 可以工作?
这就是我所说的:
map((res) => {
if (res.username === username) {
this.auth_token = res.access_token;
this.sessionId = res.SessionID;
this.loggedIn = true;
this.expires = res.expires_in;
setTimeout(this.logout, this.expires*1000);
this.emitLogedInStatusChange();
}
【问题讨论】:
-
在哪里调用超时?
标签: javascript jquery angular settimeout