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.