在角度JS 1.1.5中,您可以取消之前启动的$http调用.这两个
link1和
link2对它的工作原理给出了一些解释.
但是我无法理解,如何在实践中使用它.我创建了plnkr以说明我想要实现的目标.
>用户有一个他可以点击的链接(我们知道,用户倾向于非常热情地这样做)
>如果用户单击链接,并且之前的请求尚未完成,则应取消它,并且应该发出新请求(在此示例中,还有其他方法可以忽略多次点击.原始问题是用户输入字段,其中包含ng-change on它 – 每次用户更改值时都会发出请求 – 每个按键都会触发$http.我正在使用链接使其更简单一些)
正如您在plnkr中看到的请求触发并立即取消,但我期待最后一个请求成功.
我是angularjs的新手,所以我可能做错了.我已经完成了我能想象到的一切,但是没有完整的例子来表示canceler.resolve()
任何人都可以帮我这个或指导我正确的方向吗?
解决方法
您需要为每个请求创建一个新的取消器,因为一旦解决它就无法再次使用.