我有以下代码,我只需要确保这是正确的做法...它可以工作,但速度不如我期望的那样快...我已经计时了每个单独的调用,最长的时间也远远没有运行所需的时间。
public async Task<Result[]> DoSomethingGoodAsync()
{
List<Product> productList = getproducts();
IEnumerable<Task<Result>> list =
from p in productList select DoSomethingAsync(p);
Task<Result>[] slist = list.ToArray();
return await Task.WhenAll(slist);
}
现在我再问一遍,这样做正确吗?有更好、更高效的方法吗?DoSomethingAsync是一个可等待的方法,也会调用另一个异步方法。
编辑:我的问题是,这样建立一个我要一起执行的可等待方法集合的方式是否正确?
在DoSomethingAysnc()内部。
scrapeResult = await UrlScraper.ScrapeAsync(product.ProductUrl);
model = this.ProcessCheckStock(model, scrapeResult, product);
getproducts
是什么样子? - casperOne