Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs-向$interval添加时间_Javascript_Angularjs - Fatal编程技术网

Javascript Angularjs-向$interval添加时间

Javascript Angularjs-向$interval添加时间,javascript,angularjs,Javascript,Angularjs,我的AngularJS应用程序中有一个超时的会话,我希望能够在会话运行时为会话添加时间 对于这一点,我使用了$interval,但是我似乎无法在值处于区间时更改它们,这是真的还是我做错了 var sessionCountdown, session, sessionTime; timeleft = 0; function start() { if(session === undefined){

我的
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.
        }
    }
var sessionCountdown,
一场
会话时间;
时间间隔=0;
函数start(){
如果(会话===未定义){
if(Account.get().isLoggedIn){
setTimeleft();
}否则{
$interval.cancel(会话);
}
}
}
函数setTimeleft(时间){
如果(时间===未定义){
Config.get()
.then(函数(配置){
sessionTime=config.sessionTime;
if(sessionTime!==未定义){
timeLeft=sessionTime*60000;
超时();
}
});
}否则{
timeLeft=时间;
超时();
}
}
函数超时(){
如果(会话===未定义){
会话=$interval(函数(){
if(timeLeft==未定义){
$interval.cancel(会话);
}
console.info('time:',timeLeft);
时间限制-=1;

如果(timeLeft Hi,at time函数'start()'已定义Account.get().isLoggedIn?请使用
$timeout
超时。您可以将额外的时间链接到它们。@DanDuh:
isLoggedIn
已定义^^@georgeawg:您是否可以给出一个如何在$timeout上添加/重置时间的示例?