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 중국어 웹사이트의 기타 관련 기사를 참조하세요!