title: Defeating the Async Quagmire
body: <p>I am attempting to do a RouteQuery but it only allows for async calls. Unfortunately when the return is hit it hasn't finished the QueryAsync() </p>
  
  <p>Is there a standard way around this?</p>
  
  <p>Usually I would just start a timer and wait for a property to populate but that is way to ghetto. There has to be a solution for this.</p>
  
  <pre><code>private bool wayPointHit(GeoCoordinate geo)
  {
      RouteQuery query = new RouteQuery();
      List&lt;GeoCoordinate&gt; coords = new List&lt;GeoCoordinate&gt;();
      coords.Add(new GeoCoordinate(curLocation.Latitude, curLocation.Longitude));
      coords.Add(geo);
  
      query.Waypoints = coords;
      bool hit = false;
  
      query.QueryCompleted +=  (sender, args)  =&gt;
      {
          var rt = args.Result;
          if (rt.LengthInMeters &lt;= 20)
          {
              hit = true;
  
          }
      };
      query.QueryAsync();
  
      return hit;
  }
  </code></pre>