title: make Angular JS real time ajax requests less consuming
body: <p>I have a real time DB search with angular where I bind variable $scope.city, html : </p>
  
  <pre><code>&lt;div class="col-lg-8"&gt;
      &lt;div class="input-group"&gt;
       &lt;span class="input-group-addon" id="basic-addon1"&gt;City@&lt;/span&gt;
       &lt;input type="text" ng-model="city" class="form-control" aria-describedby="basic-addon1"&gt;
      &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>Controller: </p>
  
  <pre><code>app.controller('forecastController', ['$scope','varService','$http', function($scope,varService,$http){
  
  
  $scope.city = varService.city;
  $scope.days = 2;
  $scope.$watchGroup(['days', 'city'], function() {   
  
          $http.get('http://api.openweathermap.org/data/2.5/forecast?q='+$scope.city+'&amp;mode=json&amp;appid=e652a2c384655ea24f5b12d2fb84c60f&amp;cnt='+$scope.days+'&amp;units=metric')
      .then(function(data) { $scope.forecast = data; });
  
    });
  
  }]);
  </code></pre>
  
  <p>As you can see it $http.get() data every time the $scope.city changes, but it consumes too much resources , I need a solution where it will call $http.get every 3-4 seconds after user inputs something, $timeout doesn't do the job, please help , Thank You</p>