为什么函数没有返回promise'无法读取属性'然后'未定义'?

时间:2017-10-01 13:45:39

标签: angularjs

出现此错误'无法读取属性'然后'未定义'我想知道为什么工厂没有返回对象。

控制器:

 angular
    .module('sfcMachinesFieldDefinitions')
    .controller('MachinesListController', ['$translate', '$http', '$scope', '$state', 'ListOfMachines',
function ($translate, $http, $scope, $state, ListOfMachines) {
         var vm = this;
          vm.allMachines = function () {
             return ListOfMachines.allMachines().then(function (response) {

                 console.log('The respounse' + JSON.stringify(response))
                 vm.response = response;

             })
             return response;
           };

服务工厂:

 angular
    .module('sfcMachinesFieldDefinitions')
    .factory('ListOfMachines', ['$http', function ($http) {
        return {

            allMachines: function () { 
                $http.post('MachineList/GetAllMachines/').then(function (response) { 

                    return response;
                   })}
          };
    }]);

1 个答案:

答案 0 :(得分:1)

它不会返回一个对象,因为你没有返回它。

应该是

...
allMachines: function () { 
    return $http.post('MachineList/GetAllMachines/')...
}
...