由于个人项目是使用angularjs1.3以上,则可以直接使用angularjs 自带的 ng-model-options="{ debounce: 1000 }"属性即可
<div ng-controller="Ctrl">
<form name="userForm">
Name:
<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ debounce: 1000 }" />
<button ng-click="userForm.userName.$rollbackViewValue(); user.name=''">Clear</button><br />
</form>
<pre>user.name = <span ng-bind="user.name"></span></pre>
</div>
以上就可以实现输入后1000毫秒后触发,并且连续输入只取最后一次输入完才触发请求