San*_*ndy 3 c# task-parallel-library polly
执行策略时,我看到有些人这样调用 ExecuteAsync:
...
.ExecuteAsync(async (ct) => await GetEmployeeAsync(employeeId, ct), cancellationToken);
Run Code Online (Sandbox Code Playgroud)
像这样:
...
.ExecuteAsync(ct => GetEmployeeAsync(employeeId, ct), cancellationToken);
Run Code Online (Sandbox Code Playgroud)
有什么区别以及应该使用哪一种?
在这个简单的例子中,不存在语义差异。版本省略async和await具有几乎不可估量的性能优势。
在一般情况下,省略或遗漏 和 时async会await出现一些陷阱。作为一般规则,如果代码做了任何不平凡的事情,那么您应该保留async和await。
仅当代码确实很琐碎时才删除(保留)async/ await- 就像在本例中,当委托仅绑定employeeId到GetEmployeeAsync.