我一直在寻找一个关于如何使用Angular的$资源取消正在进行的REST调用的示例。我还没有找到任何解决方案,但是从Angular文档中我得到的印象是它应该是可能的。
来自文档:
用法: $ resource(url [,paramDefaults] [,actions]);
文档中定义的一个操作:
超时 - {number | Promise} - 超时(以毫秒为单位),或承诺在解决时应中止请求。
有没有人有一个工作示例显示如何使用此超时操作并承诺取消正在进行的请求?有可能吗?
答案 0 :(得分:3)
我的代码示例:
var canceler = {};
$scope.doSomething = function() {
canceler = $q.defer();
$http.post('url', data, {timeout: canceler.promise}).
success(function(data) {
}).
error(function() {
});
};
function cancelPost() {
canceler.resolve(); //aborts request
}
}
答案 1 :(得分:1)