在异步编程中,async voidasync Task有着不同的用途和行为。

  • async void:

    • 主要用于事件处理器。
    • 当一个async方法返回void时,它表示该方法不能被等待,也不能返回值。
    • async void方法中的异常不能被捕获到调用者。
  • async Task:

    • 适用于所有需要异步执行的非事件处理器的方法。
    • 当一个async方法返回Task时,它表示该方法是可以被等待的,并且可以使用await关键字等待其完成。
    • async Task方法中的异常可以被捕获到调用者。