注入超时无效

时间:2018-05-10 04:22:04

标签: angularjs

我只是尝试一个简单的超时服务,仍然无法弄清楚缺少什么: -

    $timeout($scope.checkLogin("s" , "s"), 4000);

这是功能: -

    $scope.checkLogin = function(user, role) {
    console.log("user: " + user);
    if (user == "-99") {
        $scope.errorMessage = "Wrong user/password";
        $rootScope.notLogin = false;
    } else {
        $rootScope.username = user;
        $rootScope.userrole = role;
        $scope.errorMessage = "";
        $rootScope.notLogin = true;
        $location.path("/home");
    }
};

这是我的控制器标题: -

    App.controller('loginController', function($scope, $http, $location,
    $rootScope, $window, $timeout, loginService)

它立即被召唤,有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

$timeout接受回调函数。 $scope.checkLogin("s" , "s")的评估无法在以下方式延迟:

$timeout($scope.checkLogin("s" , "s"), 4000);

应该是:

$timeout(function() { $scope.checkLogin("s" , "s"); }, 4000);