异步无效
你可以使用 void
(而不是 Task
)作为异步方法的返回类型。这将导致即发即忘动作:
public void DoStuff()
{
FireAndForgetAsync();
}
private async void FireAndForgetAsync()
{
await Task.Delay(1000);
throw new Exception(); //will be swallowed
}
当你回归 void
时,你不能发现这一点。你将无法知道方法何时完成,并且吞下了 async void
方法中引发的任何异常。