http - Angular JS 在调用新的 $http 之前取消 $http 调用

标签 http angularjs angular-http

在 Angular JS 1.1.5 中,您可以取消之前启动的 $http 调用。这两个link1link2给出了一些关于它是如何工作的解释。

但是我不明白,如何在实践中使用它。我创建了 plnkr来说明我想要实现的目标。

  1. 用户有一个他可以点击的链接(正如我们所知,用户往往会非常热情地这样做)
  2. 如果用户点击链接,而之前的请求还没有完成,应该取消它,并且应该发出新的请求(在这个例子中还有其他方法可以忽略多次点击。原来的问题是用户输入字段带有 ng-对其进行更改 - 每次用户更改值时都会发出请求 - 每次按键都会触发 $http。我使用链接使其更简单)

正如您在 plnkr 中看到的那样请求触发并立即被取消,但我希望最后一个请求成功。

我是 angularjs 的新手,所以我可能做错了。我已经把我能想象到的一切都搞定了,但是没有 canceler.resolve() 的完整示例

谁能帮我解决这个问题或指导我走向正确的方向?

最佳答案

您需要为每个请求创建一个新的取消器,因为一旦它被解决就不能再次使用。

See here for an updated plnkr.

关于http - Angular JS 在调用新的 $http 之前取消 $http 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404579/

相关文章:

php - 如何将 POST 数据传递给 PHP-CGI?

javascript - 有没有办法重新映射使用 ng-repeat 迭代的对象的键值?

javascript - 圆环图在 angularjs 中不起作用

javascript - 将 $http 响应分配给 $scope 时,AngularJS View 不会更新

node.js - 即使我返回 404,我的 promise 的成功 block 也总是执行

node.js - 如何在不使用端口的情况下在同一域上的 Apache 旁边运行 node.js 应用程序

java - Java突然无法连接外部服务器

json - 如何在来自 json 文件的 angularjs Controller 警报中显示翻译文本?

angularjs - Angular.js 中的 $http 帖子

javascript - 在下一个请求之前等待 $http promise