Angular Js:'$ q.defer不是函数'错误

Sum*_*ade 7 angularjs q angular-services angular-promise

在引用此链接之后,我正在尝试将JSON数据放入我的角度服务中.

服务:

.factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$q, $http) {
return {
    getData: function() {
        var defer = $q.defer();
        $http.get('xyz.com/abc.php', { cache: 'true'})
        .success(function(data) {
            defer.resolve(data);
        });

        return defer.promise;
      }
};
}])
Run Code Online (Sandbox Code Playgroud)


控制器:

.controller('RestaurantsCtrl', function ($scope,$http, restservice,restViewservice){

      restservice.getData().then(function(data) {
      $scope.Restaurants = data;
    });

})
Run Code Online (Sandbox Code Playgroud)


实现此控制台后,'$ q.defer不是函数'.

这是什么问题?请帮忙 ...!!对于Angular Js来说,如果出现问题,请原谅.

Max*_*tin 22

您的服务定义错误:

factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$q, $http) {
Run Code Online (Sandbox Code Playgroud)

应该:

factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$http, $q, $log) {
Run Code Online (Sandbox Code Playgroud)

常见的错误 :)