Angularjs TypeError:UserService.getCurrentUser.then不是m。$ scope.getCurrentUserId的函数

时间:2016-06-22 05:08:16

标签: angularjs angularjs-service angularjs-controller

我有一个Angular控制器和一个Angular服务。从我的控制器,我打电话给服务。我的服务有两个功能。第一个功能正常。但是第二个问题就出现了这个问题。以下是相关功能的代码。

function getCurrentUser() {
    return $resource(_URLS.BASE_API + 'get_current_user' + _URLS.TOKEN_API + $localStorage.token).get().$promise;
}

遵循从控制器调用该服务的功能的代码,

//Get current user id
$scope.getCurrentUserId = function() {
    ParentService.getCurrentUser.then(function(response) {
        if (response.query_status == "success") {
            $scope.userid = response.data.id;
            console.log('Value is: '+ $scope.userid);
        } else {
            $scope.userid = null;
        }
    }, function(error) {
        $scope.userid = null;
        console.log("Error : Failed to load user data...");
        console.log(error);
    });
};

我无法弄清楚问题是什么,因为我的第一个功能正常。所以希望有人帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

您的控制器代码应如下所示。请注意()

中的ParentService.getCurrentUser()
$scope.getCurrentUserId = function() {
    ParentService.getCurrentUser() // notice the "()" here
    .then(function(response) {
        ...
    }, function(error) {
        ...
    });
};