TaskFactory<TResult>.ContinueWhenAny 方法

定义

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

重载

ContinueWhenAny(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny(Task[], Func<Task,TResult>)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny(Task[], Func<Task,TResult>, CancellationToken)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny(Task[], Func<Task,TResult>, TaskContinuationOptions)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

ContinueWhenAny(Task[], Func<Task,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

参数

tasks
Task[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

cancellationToken
CancellationToken

将指派给新的延续任务的取消标记。

continuationOptions
TaskContinuationOptions

控制所创建的延续任务的行为的枚举值之一。 NotOn*OnlyOn* 值均无效。

scheduler
TaskScheduler

用于计划所创建的延续任务的任务计划程序。

返回

Task<TResult>

新的延续任务。

例外

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

  • 或 - scheduler 参数为 null

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

continuationOptions 参数指定的 TaskContinuationOptions 值无效。

已释放 tasks 数组中的一个元素。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny(Task[], Func<Task,TResult>)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny (tasks As Task(), continuationFunction As Func(Of Task, TResult)) As Task(Of TResult)

参数

tasks
Task[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

返回

Task<TResult>

新的延续任务。

例外

已释放 tasks 数组中的一个元素。

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

tasks 数组包含 null 值或为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny(Task[], Func<Task,TResult>, CancellationToken)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny (tasks As Task(), continuationFunction As Func(Of Task, TResult), cancellationToken As CancellationToken) As Task(Of TResult)

参数

tasks
Task[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

cancellationToken
CancellationToken

将指派给新的延续任务的取消标记。

返回

Task<TResult>

新的延续任务。

例外

已释放 tasks 数组中的一个元素。

tasks 数组参数为 null。

  • 或 - continuationFunction 参数为 null。

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny(Task[], Func<Task,TResult>, TaskContinuationOptions)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task ^> ^ tasks, Func<System::Threading::Tasks::Task ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny (System.Threading.Tasks.Task[] tasks, Func<System.Threading.Tasks.Task,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task[] * Func<System.Threading.Tasks.Task, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny (tasks As Task(), continuationFunction As Func(Of Task, TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)

参数

tasks
Task[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

continuationOptions
TaskContinuationOptions

控制所创建的延续任务的行为的枚举值之一。 NotOn*OnlyOn* 值均无效。

返回

Task<TResult>

新的延续任务。

例外

已释放 tasks 数组中的一个元素。

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

continuationOptions 参数指定的枚举值无效。

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken, TaskContinuationOptions, TaskScheduler)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskContinuationOptions continuationOptions, System::Threading::Tasks::TaskScheduler ^ scheduler);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskContinuationOptions continuationOptions, System.Threading.Tasks.TaskScheduler scheduler);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskContinuationOptions * System.Threading.Tasks.TaskScheduler -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken, continuationOptions As TaskContinuationOptions, scheduler As TaskScheduler) As Task(Of TResult)

类型参数

TAntecedentResult

以前的 tasks 结果的类型。

参数

tasks
Task<TAntecedentResult>[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

cancellationToken
CancellationToken

将指派给新的延续任务的取消标记。

continuationOptions
TaskContinuationOptions

控制所创建的延续任务的行为的枚举值之一。 NotOn*OnlyOn* 值均无效。

scheduler
TaskScheduler

用于计划所创建的延续 TaskSchedulerTask<TResult>

返回

Task<TResult>

新的延续 Task<TResult>

例外

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

  • 或 - scheduler 参数为 null。

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

continuationOptions 参数指定的 TaskContinuationOptions 值无效。

已释放 tasks 数组中的一个元素。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, TaskContinuationOptions)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::Tasks::TaskContinuationOptions continuationOptions);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.Tasks.TaskContinuationOptions continuationOptions);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.Tasks.TaskContinuationOptions -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), continuationOptions As TaskContinuationOptions) As Task(Of TResult)

类型参数

TAntecedentResult

以前的 tasks 结果的类型。

参数

tasks
Task<TAntecedentResult>[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

continuationOptions
TaskContinuationOptions

控制所创建的延续任务的行为的枚举值之一。 NotOn*OnlyOn* 值均无效。

返回

Task<TResult>

新的延续 Task<TResult>

例外

已释放 tasks 数组中的一个元素。

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

continuationOptions 参数指定的枚举值无效。

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult)) As Task(Of TResult)

类型参数

TAntecedentResult

以前的 tasks 结果的类型。

参数

tasks
Task<TAntecedentResult>[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

返回

Task<TResult>

新的延续 Task<TResult>

例外

已释放 tasks 数组中的一个元素。

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于

ContinueWhenAny<TAntecedentResult>(Task<TAntecedentResult>[], Func<Task<TAntecedentResult>,TResult>, CancellationToken)

创建一个延续任务,它将在提供的组中的任何任务完成后马上开始。

public:
generic <typename TAntecedentResult>
 System::Threading::Tasks::Task<TResult> ^ ContinueWhenAny(cli::array <System::Threading::Tasks::Task<TAntecedentResult> ^> ^ tasks, Func<System::Threading::Tasks::Task<TAntecedentResult> ^, TResult> ^ continuationFunction, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<TResult> ContinueWhenAny<TAntecedentResult> (System.Threading.Tasks.Task<TAntecedentResult>[] tasks, Func<System.Threading.Tasks.Task<TAntecedentResult>,TResult> continuationFunction, System.Threading.CancellationToken cancellationToken);
member this.ContinueWhenAny : System.Threading.Tasks.Task<'AntecedentResult>[] * Func<System.Threading.Tasks.Task<'AntecedentResult>, 'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Function ContinueWhenAny(Of TAntecedentResult) (tasks As Task(Of TAntecedentResult)(), continuationFunction As Func(Of Task(Of TAntecedentResult), TResult), cancellationToken As CancellationToken) As Task(Of TResult)

类型参数

TAntecedentResult

以前的 tasks 结果的类型。

参数

tasks
Task<TAntecedentResult>[]

在一个任务完成时继续执行的任务所在的数组。

continuationFunction
Func<Task<TAntecedentResult>,TResult>

tasks 数组中的一个任务完成时要异步执行的函数委托。

cancellationToken
CancellationToken

将指派给新的延续任务的取消标记。

返回

Task<TResult>

新的延续任务。

例外

已释放 tasks 数组中的一个元素。

tasks 数组为 null

  • 或 - continuationFunction 参数为 null

tasks 数组包含 null 值。

  • 或 - tasks 数组为空。

注解

完成后,任务处于以下状态之一: RanToCompletionFaultedCanceled 状态。

另请参阅

适用于