访问承诺中的数据

时间:2014-07-21 11:06:49

标签: angularjs

在调用getAllMenuItems函数后,我不想访问控制器中的数据:

 x.factory('menuItemsData', function($http, $q){

    return {
    getAllMenuItems: function(){
        var deferred=$q.defer();
        $http({method: 'GET', url: 'data/MenuItems.json'}).
            success(function(data, status, headers, config){
                deferred.resolve(data);
            }).
            error(function(data, status, headers, config){
                deferred.reject(status);
            });
        return deferred.promise;
    }
};

});

4 个答案:

答案 0 :(得分:0)

这样:

app.controller('myCtrl', function($scope, myService){
   myService.getAllMenuItems().success(function(res){
       // access the response here.
       $scope.menuItems = res.Items; // assign the menuitems.
   })
});

答案 1 :(得分:0)

app.controller('ctrl', function($scope, menuItemsData){
    menuItemsData.getAllMenuItems().success(function(data){
         console.log(data);
    });
});

答案 2 :(得分:0)

你需要从这样的承诺中获取数据:

menuItemsData.getAllMenuItems().then(function(data){
   console.log(data);
});

答案 3 :(得分:0)

menuItemsData.getAllMenuItems().then(
    function(res){ 
        //success callback
        },
    function(error){ 
        //failure callback
        }
    );