异步无效

你可以使用 void(而不是 Task)作为异步方法的返回类型。这将导致即发即忘动作:

public void DoStuff()
{
    FireAndForgetAsync();
}
    
private async void FireAndForgetAsync()
{
    await Task.Delay(1000);
    throw new Exception(); //will be swallowed
}

当你回归 void 时,你不能发现这一点。你将无法知道方法何时完成,并且吞下了 async void 方法中引发的任何异常。