在异步编程中,async void
和async Task
有着不同的用途和行为。
-
async void
:- 主要用于事件处理器。
- 当一个
async
方法返回void
时,它表示该方法不能被等待,也不能返回值。 async void
方法中的异常不能被捕获到调用者。
-
async Task
:- 适用于所有需要异步执行的非事件处理器的方法。
- 当一个
async
方法返回Task
时,它表示该方法是可以被等待的,并且可以使用await
关键字等待其完成。 async Task
方法中的异常可以被捕获到调用者。