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

Creates a continuation task that will be started upon the completion of any task in the provided set.

Namespace:  System.Threading.Tasks
Assembly:  mscorlib (in mscorlib.dll)

public Task<TResult> ContinueWhenAny(
	Task[] tasks,
	Func<Task, TResult> continuationFunction,
	CancellationToken cancellationToken
)

Parameters

tasks
Type: System.Threading.Tasks.Task []
The array of tasks from which to continue when one task completes.
continuationFunction
Type: System.Func<Task, TResult>
The function delegate to execute asynchronously when one task in the tasks array completes.
cancellationToken
Type: System.Threading.CancellationToken
The cancellation token that will be assigned to the new continuation task.

Return Value

Type: System.Threading.Tasks.Task<TResult>
The new continuation task.

ExceptionCondition
ObjectDisposedException

One of the elements in the tasks array has been disposed.

-or-

The CancellationTokenSource that created cancellationToken has already been disposed.

ArgumentNullException

The tasks array is null.

-or-

The continuationFunction argument is null.

ArgumentException

The tasks array contains a null value.

-or-

The tasks array is empty.

After completion, a task is in one of these states: RanToCompletion, Faulted, or Canceled states.

Windows Phone OS

Supported in: 8.1, 8.0

Date

History

Reason

Added text to clarify asynchronous execution of continuations.

Customer feedback.

Show:
© 2015 Microsoft