你应该使用 1.1.5 版本,它可以取消 $http 请求:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md
// set up a dummy canceler
var canceler = $q.defer();
// use it as a timeout canceler for the request
$http({method: 'GET', url: '/some', timeout: canceler.promise}).success(
function (data) { alert("this won't be displayed on cancel"); }
).error(
function (data) { alert("this will be displayed on cancel"); }
)
// now, cancel it (before it may come back with data)
$rootScope.$apply(function() {
canceler.resolve();
});
您可以对所有请求使用相同的取消器,并在开始新集合之前解决它。