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() {...}
那麼asyncoid void的弊端將僅限於事件處理程序,使得異常處理、組合和測試更易於管理。
以上是為什麼我應該避免在 C# 中使用 Async Void 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!