我的AngularJS
应用程序中有一个超时会话,我希望能够在会话运行时为会话添加时间。
为此,我使用$interval
,但是我似乎无法在区间内更改值,这是真的还是我做错了?
var sessionCountdown,
session,
sessionTime;
timeleft = 0;
function start() {
if(session === undefined){
if(Account.get().isLoggedIn){
setTimeleft();
} else {
$interval.cancel(session);
}
}
}
function setTimeleft(time){
if(time === undefined){
Config.get()
.then(function(config){
sessionTime = config.sessionTime;
if(sessionTime !== undefined){
timeLeft = sessionTime * 60000;
timeout();
}
});
} else {
timeLeft = time;
timeout();
}
}
function timeout(){
if(session === undefined){
session = $interval(function(){
if(timeLeft === undefined){
$interval.cancel(session);
}
console.info('time : ', timeLeft);
timeLeft -= 1;
if(timeLeft <= 0){
showModal();
$interval.cancel(session);
session = undefined;
}
}, 1000); // 60.000 milliseconds = 1 minute.
}
}