在开发中,遇到一个这样的需求,使用$scope.$watch()方法监听input值的改变,然后去$resource请求,但是请求过于频繁,需要做逻辑调整。代码如下:
1 var timeout; 2 $scope.$watch('mapAddress', function(inputText){ 3 if(inputText){ 4 if(timeout) { 5 $timeout.cancel(timeout); 6 } 7 timeout = $timeout(function(){ 8 console.log('111', inputText); 9 },500)10 }11 });
使用$timeout可以解决此问题,后面时间可以根据自己的需求调整。