$http returns a decorated promise which cannot be used within the routing
system (as dependencies that should be resolved before switching route).
Which is very unfortunate because it creates unnecessarily complicated code.
On Monday, 22 December 2014 06:52:31 UTC+1, Darlan Alves wrote:
>
> It's
It's not so obvious in AngularJS, but you don't need to use $q.defer() to
return promises. Instead just make a service like this one:
angular.module('bla').factory('StudentService', StudentService);
function StudentService($q, $http) {
function getStudent(id) {
if (!id) {
return $
Got it myself. Services are lazyinitialized , so it is getting from cache.
So i passed defer() object to the service property from controller.This
resolved the issue.
controller:
var deferPromise=$q.defer();
movieService.getStudent(1,deferPromise).then.
service:
return{
getStudent: