【发布时间】:2025-12-20 02:15:14
【问题描述】:
我有以下代码,我只需要确保这是执行此操作的正确方法。它可以正常工作,但没有 Id 期望的那么快。我已经为每个单独的呼叫计时了最长的时间远不及运行所需的时间。
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()没有占用时间吗?一开始?
-
getproducts长什么样子?
标签: c# task-parallel-library async-await