mpm mpm - 5 months ago 42
AngularJS Question

How to cancel an $http request in AngularJS?

Given a Ajax request in AngularJS

$http.get("/backend/").success(callback);


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

Answer

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.
Comments