无法阅读财产'然后' AngularJS中未定义的错误消息

时间:2015-05-15 16:24:38

标签: javascript angularjs asynchronous

我的服务层中有以下JavaScript代码。执行此代码时,我收到错误消息 - 无法读取属性'然后'未定义的。我查看了stackoverflow上的其他类似帖子,但仍无法解决此问题。

问题:哪些代码更改会纠正上述错误?可能是我在AngularJS中以错误的方式调用某些内容但不确定。

      function getPreferenceSet(type) {
        var t = angular.isString(type) ? type : '';
        logger.info('getPreferenceSet: fetching; type: ' + t);

        var route = userPreferenceConstants.endPoints.PREFERENCE + '?type=' + t;

        var allDashboardsDeferred = false;
        if (!allDashboardsDeferred) {
            allDashboardsDeferred = $http.get(route)
                .then(getPreferenceSetComplete)
                .catch(function (message) {
                    exception.catcher('XHR failed for getPreferenceSet')(message);
                });
        }
        return allDashboardsDeferred.promise;

        function getPreferenceSetComplete(response) {
            logger.info('getPreferenceSet: complete');
            return response.data;
        }
    }

1 个答案:

答案 0 :(得分:1)

php cli-doctrine.php orm:schema-tool:create 的调用返回一个HttpPromise,该调用在调用完成时解析。 allDashboardsDeferred变量已经是一个promise而不是deferred,所以你可以直接返回它:

$http.get(route).then(...).catch(...)