mpm mpm - 1 year ago 109
AngularJS Question

How to cancel an $http request in AngularJS?

Given a Ajax request in AngularJS


what is the most effective way to cancel that request if another request is launched (same backend, different parameters for instance).

Answer Source

This feature was added to the 1.1.5 release via a timeout parameter:

var canceler = $q.defer();
$http.get('/someUrl', {timeout: canceler.promise}).success(successCallback);
// later...
canceler.resolve();  // Aborts the $http request if it isn't finished.