Angular Js : '$q.defer is not a function' error
12,017
You have wrong service definition:
factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$q, $http) {
Should be:
factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$http, $q, $log) {
Common mistake :)
Author by
UzUmAkI_NaRuTo
Updated on June 05, 2022Comments
-
UzUmAkI_NaRuTo almost 2 years
After Refering this Link , I am trying to get JSON data into my angular service.
Service:
.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; } }; }])
Controller:.controller('RestaurantsCtrl', function ($scope,$http, restservice,restViewservice){ restservice.getData().then(function(data) { $scope.Restaurants = data; }); })
After Implementing this console says '$q.defer is not a function'.What's the issue here? Please Help ...!! Am new to Angular Js so forgive if something is wrong.