在 Angular JS 1.1.5 中,您可以取消之前启动的 $http 调用。这两个link1和 link2给出了一些关于它是如何工作的解释。
但是我不明白,如何在实践中使用它。我创建了 plnkr来说明我想要实现的目标。
- 用户有一个他可以点击的链接(正如我们所知,用户往往会非常热情地这样做)
- 如果用户点击链接,而之前的请求还没有完成,应该取消它,并且应该发出新的请求(在这个例子中还有其他方法可以忽略多次点击。原来的问题是用户输入字段带有 ng-对其进行更改 - 每次用户更改值时都会发出请求 - 每次按键都会触发 $http。我使用链接使其更简单)
正如您在 plnkr 中看到的那样请求触发并立即被取消,但我希望最后一个请求成功。
我是 angularjs 的新手,所以我可能做错了。我已经把我能想象到的一切都搞定了,但是没有 canceler.resolve() 的完整示例
谁能帮我解决这个问题或指导我走向正确的方向?
最佳答案
您需要为每个请求创建一个新的取消器,因为一旦它被解决就不能再次使用。
关于http - Angular JS 在调用新的 $http 之前取消 $http 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404579/