Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, Artem Korneev, Вы писали:
AK>>Хочется всё это переписать к более понятному виду.
S>Использовать await в каждом методе по цепочке вызовов абсолютно необязательно.
S>S>public async Task InvokeHttpCall(Func<HttpClient, Task<HttpResponseMessage>> callback)
S>{
S> using (var httpClient = new HttpClient())
S> {
S> HttpResponseMessage response = null;
S> var http = httpClient;
S> await this.retryPolicy.ExecuteAndCaptureAsync(() =>
S> callback.Invoke(http).ContinueWith(t => response = t.Result));
S> }
S>}
S>
S>А если бы товарищ автор Polly читал бы гадлайны, то код выглядел бы как
S>S> response = await this.retryPolicy.ExecuteAndCaptureAsync(() => callback.Invoke(http)).Result;
S>
S>я бы на вашем месте завёл бы issue на это дело.
callback.Invoke(http) <- зачем Invoke ???
response = await this.retryPolicy.ExecuteAndCaptureAsync(() => callback(http)).Result;