There is no more need to create your own code using timeout or whatever else you have in mind. Angular JS now has an attribute called ng-model-options  with value debounce which will trigger the ng-change function that you specify based on the time in seconds.

Sample:

Related Posts Plugin for WordPress, Blogger...