阵列中的一个或多个任务被取消或失败时的继续

本文关键字:取消 失败 继续 任务 一个 阵列 | 更新日期: 2023-09-27 18:20:19

如果我有一个任务数组,Task[]。如何编写仅在阵列中的一个或多个任务失败(或被取消)时运行的延续?

阵列中的一个或多个任务被取消或失败时的继续

我认为您应该查看在为Task设置continuation时可以指定的continuation选项。

Task<int> [] tasks = new Task<int>[5];
// Add tasks...
foreach (var task in tasks)
{
    task.ContinueWith(a => a.Id, TaskContinuationOptions.OnlyOnCanceled);
}
Task.WaitAny(tasks, new CancellationToken());