调用 Polly ExecuteAsync 方法的正确方法是什么?
What is the correct way to call Polly ExecuteAsync method?
执行策略,我看到有人这样调用 ExecuteAsync:
...
.ExecuteAsync(async (ct) => await GetEmployeeAsync(employeeId, ct), cancellationToken);
像这样:
...
.ExecuteAsync(ct => GetEmployeeAsync(employeeId, ct), cancellationToken);
有什么区别,应该使用哪一个?
在这个简单的例子中,没有语义差异。省略 async
和 await
的版本具有几乎不可估量的性能优势。
一般情况下,有一些pitfalls when eliding async
and await
。作为一般规则,如果代码做了任何重要的事情,那么你应该保留 async
和 await
。如果代码真的很简单,则只省略 async
/await
- 就像在这种情况下,当委托只在 GetEmployeeAsync
.
上绑定 employeeId
时
执行策略,我看到有人这样调用 ExecuteAsync:
...
.ExecuteAsync(async (ct) => await GetEmployeeAsync(employeeId, ct), cancellationToken);
像这样:
...
.ExecuteAsync(ct => GetEmployeeAsync(employeeId, ct), cancellationToken);
有什么区别,应该使用哪一个?
在这个简单的例子中,没有语义差异。省略 async
和 await
的版本具有几乎不可估量的性能优势。
一般情况下,有一些pitfalls when eliding async
and await
。作为一般规则,如果代码做了任何重要的事情,那么你应该保留 async
和 await
。如果代码真的很简单,则只省略 async
/await
- 就像在这种情况下,当委托只在 GetEmployeeAsync
.
employeeId
时