我有一个超时功能,看起来像这样:的setTimeout()不能调用嵌套函数正确
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});
}
其中事件发射器告诉主部件,其中用于的loggedIn的值是改变。 问题是this.emitLogedInStatusChange();我得到了一个错误信息:
this.emitLogedInStatusChange is not a function
我的问题是如何正确调用这个函数在注销,所以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();
}
你的超时被调用了吗? –