在我的方法RecalcChartAsync
我做了一些時間密集的東西..所以我想我會做一些異步的事情。async方法是否正確? Resharper警告
我想開始兩種方法CreateHistogramAsync
CalculatePropValuesAsync
,同時在我的RecalcChartsAsync
中做一些東西,最後等待它完成。
private async void RecalcChartsAsync()
{
var histogram = CreateHistogramAsync();
var propValues = CalculatePropValuesAsync();
//do some other stuff
await histogram;
await propValues;
}
private async Task CreateHistogramAsync()
{
//do some stuff
}
private async Task CalculatePropValuesAsync()
{
//do some stuff
}
林不知道如果我這樣做了正確的方式,因爲ReSharper的給我處CreateHistogramAsync和CalculatePropValueAsync async關鍵字以下警告:
這種異步方法缺乏「等待」運營商和意志同步運行。考慮使用await運算符來等待非阻塞API調用,...
現在我不確定是否以正確的方式使用此異步事件。
執行異步方法時,始終返回任務。否則,你會失去與該方法的任何連接。這可能是問題,特別是在測試期間。 –
Andree
2016-04-20 11:08:38
此外,如果你想等待更多的任務完成,你可以使用'await Task.WhenAll(params Task [] tasks)' – Andree 2016-04-20 11:12:41