title: synchronous http call in angularJS
body: <p>I have the following scenario, I need data from a particular url. I have written a function which takes parameter 'url'. Inside the function I have the $http.get method which makes a call to the url. The data is to be returned to the calling function</p>
  
  <pre><code>var getData = function (url) {
      var data = "";
  
      $http.get(url)
          .success( function(response, status, headers, config) {
               data = response;
          })
          .error(function(errResp) {
               console.log("error fetching url");
          });
      return data;
  }
  </code></pre>
  
  <p>The problem is as follows, $http.get is asynchronous, before the response is fetched, the function returns. Therefore the calling function gets the data as empty string. How do I force the function not to return until the data has been fetched from the url?</p>