title: Async await call does not return
body: <p>I have a problem, where i call an async method, and the call does not return back. I assume its a race of threads. How do I write this correctly?</p>
  
  <p>This is where it starts. I first call an async method called "GetCachedValuesAsync"</p>
  
  <pre><code>public void OnNavigatingTo(NavigationParameters parameters)
      {
          Task.Run(async () =&gt;
          {
              await GetCachedValuesAsync();
              ClipRefernce = GenerateRefernce(clips);
          });
      }
  </code></pre>
  
  <p>Here is the method signature for GetCachedValueAsync</p>
  
  <pre><code>public async Task  GetCachedValuesAsync()
      {
          try
          {
              clips = await BlobCache.LocalMachine.GetObject&lt;List&lt;Clip&gt;&gt;("clips");
          }
          catch (KeyNotFoundException ex)
          {
              clips = new List&lt;Clip&gt;();
          }
      }
  </code></pre>
  
  <p>I do not get the call returned from BlobCache, BlobCahce method is part of a library called akavache. </p>
  
  <p>The code also does not hit: <code>ClipRefernce = GenerateRefernce(clips);</code></p>
  
  <p>I appreciate your help</p>
  
  <p><strong>Edit 1</strong></p>
  
  <p>This is GenerateRefernce method.</p>
  
  <pre><code>public string  GenerateRefernce(List&lt;Clip&gt; clips)
      {
          string refernce = "";
          if(clips.Count &gt; 0)
          {
              var clip = clips.LastOrDefault();
              refernce = String.Format("Ref {0:yyyy}/{1}",DateTime.Now , clip.ClipId + 1);
          }
          else{
              refernce = String.Format("Ref {0:yyyy}/{1}", DateTime.Now, 1);
          }
          return refernce;
      }
  </code></pre>