title: What to return as onRetryAsync?
body: <p>I am trying to implement a retry policy that will retry if an exception is thrown.</p>
  
  <p>Unfortunately I can't seem to get the signature for the onRetryAsync block right. The compiler says "Not all code paths return a value in lambda expression of type...."</p>
  
  <p><a href="https://github.com/App-vNext/Polly/issues/247#issuecomment-438335852" rel="nofollow noreferrer">The documentation suggests to return Task.CompletedTask</a> but that's apparently not available to me in the current libraries I am forced to use.</p>
  
  <pre><code>var retryPolicy = Policy
                      .Handle&lt;SigsThrottledException&gt;(e =&gt; e.RetryAfterInSeconds &gt; 0)
                      .WaitAndRetryAsync(
                          retryCount: 3,
                          sleepDurationProvider: (i, e, ctx) =&gt;
                          {
                              var ste = (SigsThrottledException)e;
                              return TimeSpan.FromSeconds((double)ste.RetryAfterInSeconds);
                          },
                          onRetryAsync: (e, ts, i, ctx) =&gt;
                          {
                              // Logging goes here
                          });
  
  &lt;....&gt;
  
  var response = await retryPolicy.Execute(async () =&gt;
          {
              Uri substrateurl = new Uri("https://substrate.office.com/");
              return await SIGSClient.Instance.PostAsync(client, substrateurl, new UserInfo(), "faketoken", new Signal(), Guid.NewGuid()).ConfigureAwait(false);
          }
          );
  </code></pre>