[英]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.