【发布时间】:2016-08-31 18:20:35
【问题描述】:
我需要通过 Web 服务为我在文本框中键入的搜索参数获取数据。目前它与ng-model-options 中的debounce 一起工作正常,它会在我指定的时间后触发一个请求。
我找不到,一旦触发新的请求,角度会自动取消先前的不完整请求。
如果不是,我应该如何处理,因为每次按键都会在我指定的时间段后触发一个请求。
HTML 是
<input type="text" class="form-control" name="inpTeachers" ng-model="inpTeachers" id="inpTeachers" autocomplete="off" required ng-change="GetTeachers(frmAddSubjectMain)" ng-model-options="{ updateOn: 'default blur', debounce: {'default': 500, 'blur': 0} }" placeholder="Ex. Nancy Chang" />
GetTeachers 方法只是一个简单的方法,在 http 请求后更改一些范围变量。
如果另一个ng-change 被触发,我是否应该取消旧的http 请求。
【问题讨论】:
-
像往常一样,发布代码会有所帮助。但由于我怀疑 angular 是否发送任何请求,我不知道它如何取消它。贴出代码。你也可以……测试一下。
-
我没有发布任何代码,因为现有的代码对我来说工作正常。我现在就做
-
@JBNizet 现在你可能会得到一些提示
-
Angular 完全不知道 GetTeachers() 方法的作用。发送 HTTP 请求的方法是您自己的代码,而 Angular 无法取消它。
-
那么应该用什么方法来取消这个
ng-change正在进行的任何现有$http请求?? @JBNizet