簡體   English   中英

無法讀取AngularJS中未定義錯誤消息的屬性'then'

[英]Cannot read property 'then' of undefined error message in AngularJS

我的服務層中有以下JavaScript代碼。 當執行此代碼時,我收到一條錯誤消息- 無法讀取undefined的屬性“ then” 我在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;
        }
    }

$http.get(route).then(...).catch(...)的調用返回一個HttpPromise,該HttpPromise在調用完成時解析。 allDashboardsDeferred變量已經是一個承諾,而不是一個推遲的,因此您可以直接返回它:

return allDashboardsDeferred; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM