Angularjs TypeError: UserService.getCurrentUser.then is not a function at m.$scope.getCurrentUserId

Angularjs TypeError: UserService.getCurrentUser.then is not a function at m.$scope.getCurrentUserId

我有一个 Angular 控制器和一个 Angular 服务。从我的控制器,我调用 service.There 是我服务中的两个函数。第一个功能工作正常。但是第二个就会出现这个问题。以下是相关功能的代码。

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);
    });
};

我无法弄清楚问题出在哪里,因为我的第一个功能运行良好。所以希望有人能帮我解决这个问题。

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

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