Is there a way to emulate jquery 'complete' callback with angular $http module? I have some code I would like to execute no matter whether the request succeeded or failed and at the moment I find myself having to write this:
$http.get(someUrl).success(function(){
successCode();
completeCode();
}).error(function(){
errorCode();
completeCode();
})
but I would rather write something like:
$http.get(someUrl).success(function(){
successCode();
}).error(function(){
errorCode();
}).complete(function(){
completeCode();
})
I've tried also using the promise API but I end up having the same problem. Any suggestion?
Update Aug 2014: .always
has been renamed .finally
in recent versions of Angular. Prefer .finally
to .always
.
Note that in order to support IE8 you have to call it with bracket notation as ["finally"]
.
You can use .always
in AngularJS
This change is rather new (you could do that in jQuery for a while), you can see the commit here. This requires you to have AngularJS 1.1.5 or higher.
always(callback)
– allows you to observe either the fulfillment or rejection of a promise, but to do so without modifying the final value. This is useful to release resources or do some clean-up that needs to be done whether the promise was rejected or resolved. See the full specification for more information.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With