0
私は非常に頻繁にイベントを公開するJavaScriptクラスを用意しています。コードは次のようになります。setTimeout関数のクラス変数へのアクセス
class TimerService {
constructor(BroadcastService) {
this.Broadcast = BroadcastService;
this.timeout;
this.warningTimer;
this.startTimer();
}
startTimer() {
clearTimeout(this.timeout);
clearTimeout(this.warningTimer);
this.timeout = setTimeout(this.startWarning, 30000);
}
startWarning() {
this.Broadcast.send("timeout-warning");
this.warningTimer = setTimeout(this.logout, 60000);
}
logout() {
this.Broadcast.send("session-expired");
}
}
export default { service: TimerService, name: "TimerService" };
問題は、私はthis.Broadcast
にアクセスすることはできませんよ、のsetTimeoutのcalllback機能では、window
へthis
スコープポイントです。これを構造化する最良の方法は何ですか?私は必要なすべてにアクセスできますか?