在我的方法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