我有一個超時功能,看起來像這樣:的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();
}
你的超時被調用了嗎? –