[英]Using Parallel.ForEachAsync
我正在嘗試運行Parallel.ForEachAsync()
,但出現以下兩個錯誤:
錯誤一:
參數 2:無法從 System.Threading.Tasks.ParallelOptions 轉換為 System.Threading.CancellationToken
錯誤2:
委托 Func<WC, CancellationToken, ValueTask> 不接受 1 個參數
這是我的代碼:
public async Task<List<DisplayDto>> GetData()
{
var options = new ParallelOptions()
{
MaxDegreeOfParallelism = 20;
};
await Parallel.ForEachAsync(result, options, async OrderNumber => {
//Do Stuff here.
});
}
必須更改什么才能使其按我的意願工作?
Parallel.ForEachAsync
期望Func<TSource,CancellationToken,ValueTask>
即接受 2 個參數(第一個是集合元素,第二個是CancellationToken
),而不是一個。 用法可能如下所示:
public async Task<List<DisplayDto>> GetData()
{
var options = new ParallelOptions()
{
MaxDegreeOfParallelism = 20
};
await Parallel.ForEachAsync(result, options, async (OrderNumber, ct) => {
// do not forget to use CancellationToken (ct) where appropriate
// Do Stuff here.
});
}
例子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.