繁体   English   中英

AngularJS定期调用函数吗?

[英]Angularjs calling function at regular interval?

问题很简单,就是要定期重新加载身份验证令牌。 我为此使用$interval服务。 代码如下

function refresh_session() {
    console.log("testing");
}

module.exports = function ($scope,$rootScope,$localStorage,$location,$interval,$http) {

    $interval(refresh_session,5000);

这工作得很好,但是我需要访问$scope$localStorage变量来更新令牌。 我尝试将$scope定义的函数传递给$interval服务,以及将参数传递给外部函数。 他们两个都不工作。 我可以使用角度方法进行处理的正确方法是什么?

您是否可以将refresh_session函数放在导出的函数中? 这将允许它访问该函数的参数。 像这样:

module.exports = function ($scope,$rootScope,$localStorage,$location,$interval,$http) {

    $interval(refresh_session,5000);

    function refresh_session() {
        console.log("testing", $scope, $localStorage);
    }
    ...
};

另外,您可以使用一个函数来创建refresh_session函数:

function refreshSessionCreator($scope, $localStorage){
    return function(){
        console.log("testing", $scope, $localStorage);
    };
}

module.exports = function ($scope,$rootScope,$localStorage,$location,$interval,$http) {

    $interval(refreshSessionCreator($scope, $localStorage),5000);
    ...
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM