Async Void 的陷阱:详细解释
Async void 方法已被证明是一种糟糕的编码实践。本文参考著名文章“避免 Async Void”,深入探讨了为什么会出现这种情况。
避免 Async Void 的原因
其他注意事项
Async void 被认为是异步领域的异常/等待语言。大多数语言(包括 F#、Python、JavaScript 和 TypeScript)都不支持它。它包含在 C#/VB 中主要是为了适应异步事件处理程序。
首选方法
在您的示例中,如果您调整代码以利用 async void 事件处理程序:
protected override async void OnLoad(EventArgs e) { if (CustomTask == null) await PrimeCustomTask(); } private async Task PrimeCustomTask() {...}
那么 async void 的弊端将仅限于事件处理程序,使得异常处理、组合和测试更易于管理。
以上是为什么我应该避免在 C# 中使用 Async Void 方法?的详细内容。更多信息请关注PHP中文网其他相关文章!