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 $q.reject(new Error('Invalid id'));
    }

    return $http.get('/student/' + id);
  }

  return {
    getStudent: getStudent
  };
}

I started with AngularJS about a year ago and just realized that a few 
months later. It was there on my face all the time :p


On Saturday, December 20, 2014 12:30:30 PM UTC-2, sudheer reddy wrote:
>
> Hi,
>
> I am resolving a promise on getting student detail of a particular id. If 
> i go back and click edit on other id, the edit page still renders previous 
> one because of promise is saving its state.
>
> How to resolve this.
>
> return{
> getStudent:
>             function (id) {
>                 $http.get('api/movies/' + id)
>                     .success(function (response)
>                     {
>                         defferedq.resolve(response);
>                     }).error(function (error)
>                     {
>                         defferedq.reject(error);
>                     });
>
>
>                 return defferedq.promise;
>         }
> }
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to