非同步無效

你可以使用 void(而不是 Task)作為非同步方法的返回型別。這將導致即發即忘動作:

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

當你迴歸 void 時,你不能發現這一點。你將無法知道方法何時完成,並且吞下了 async void 方法中引發的任何異常。