Eroor -TypeError:无法读取未定义的属性'then'
问题描述:
我正在学习Angular JS并拥有以下工厂。我可以在将数据记录到控制台时看到数据。Eroor -TypeError:无法读取未定义的属性'then'
app.factory('SelectOptionFactory', ['$http', '$q', 'DatabaseService', function ($http, $q, DatabaseService) {
'use strict';
//variables
var routeControllerURL = 'SelectOption/';
return {
getSelectOptions: function getSelectOptions() {
var apiRouteMember = [];
apiRouteMember.push(routeControllerURL + 'SelectOptionList')
apiRouteMember.push('APPLICATION_STATUS');
DatabaseService.getDataFromAPIRoute(apiRouteMember).then(function (response) {
return response.data;
});
}
}
}]);
然后我控制器具有以下功能,被称为上点击一个按钮,我得到这个错误:
angular.js:13920 TypeError: Cannot read property 'then' of undefined
at m.$scope.addInventoryApplicationDetails (Inventory_Controller.js:228)
$scope.addInventoryApplicationDetails = function() {
$scope.applicationStatus = [];
SelectOptionFactory.getSelectOptions().then(function (data) {
$scope.applicationStatus = data;
}).catch(function() {
$scope.error = 'unable to get the data';
});
};
什么我做错了,因为.then()
方法不会返回通过successCallback,errorCallback的返回值解决或拒绝的新承诺吗?
答
没有什么是从getSelectOptions()
返回。你只需要返回承诺
是的愚蠢的错误 - 谢谢各有不同 – mspelly