title: Why is this function not waiting until it has data from XHR request?
body: <p>When I call for getCurrentConditions it tries to return data before requestData has completed and therefore doesn't find data.currently. I am definately getting data returned from the URL, I have tried adding a timeout loop to wait for the XHR to load, but that just broke the script all together. I am kind of confused why the second function is not waiting for this.requestData(latitude, longitude); to finish before continuing.</p>
  
  <pre><code>this.requestData = function(latitude, longitude) {
      request_url = self.API_ENDPOINT + api_key + '/' + latitude + ',' + longitude + '?units=auto';
      var xhr = new XMLHttpRequest();
      xhr.onreadystatechange = function() {
          if(xhr.readyState==4 &amp;&amp; xhr.status==200) {
              content = xhr.responseText;
              if(content != '' &amp;&amp; (content)) {
                  return JSON.parse(content);
              } else {
                  return false;
              }
          }
      }
      xhr.open('GET', 'proxy.php?url='+request_url, true);
      xhr.send(null);
  }
  /**
   * Will return the current conditions
   *
   * @param float $latitude
   * @param float $longitude
   * @return \ForecastIOConditions|boolean
   */
  this.getCurrentConditions = function(latitude, longitude) {
      data = this.requestData(latitude, longitude);
      if(data !== false) {
          return new ForecastIOConditions(data.currently);
      } else {
          return false;
      }
  }
  
  
  
  var forecast = new ForecastIO(api_key);
  var condition = forecast.getCurrentConditions(latitude, longitude);
  </code></pre>