CoreTaskExtensionsSelectTSource Method (TaskTSource, ActionTaskTSource) |
Synchronously execute a continuation when a task completes successfully.
Namespace: Rackspace.ThreadingAssembly: Rackspace.Threading (in Rackspace.Threading.dll) Version: 1.1.0.0
Syntax
public static Task Select<TSource>(
this Task<TSource> task,
Action<Task<TSource>> continuationAction
)
<ExtensionAttribute>
Public Shared Function Select(Of TSource) (
task As Task(Of TSource),
continuationAction As Action(Of Task(Of TSource))
) As Task
public:
[ExtensionAttribute]
generic<typename TSource>
static Task^ Select(
Task<TSource>^ task,
Action<Task<TSource>^>^ continuationAction
)
[<ExtensionAttribute>]
static member Select :
task : Task<'TSource> *
continuationAction : Action<Task<'TSource>> -> Task
Parameters
- task
- Type: System.Threading.TasksTaskTSource
The antecedent task. - continuationAction
- Type: SystemActionTaskTSource
The continuation action to execute when task completes successfully.
Type Parameters
- TSource
- The type of the result produced by the antecedent TaskTResult.
Return Value
Type:
TaskA
Task representing the asynchronous operation.
Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
TaskTSource. When you use instance method syntax to call this method, omit the first parameter. For more information, see
Extension Methods (Visual Basic) or
Extension Methods (C# Programming Guide).
Exceptions
Remarks
This code implements support for the following construct without requiring the use of
/
.
TSource source = await task.ConfigureAwait(false);
continuationAction(task);
If the antecedent task is canceled or faulted, the status of the antecedent is
directly applied to the task returned by this method; it is not wrapped in an additional
AggregateException.
Notes to Callers |
Since the continuation is executed synchronously, this method should only be used for
lightweight continuation actions. For non-trivial continuation actions, use ThenTSource(TaskTSource, FuncTaskTSource, Task)
instead.
|
Version Information
.NET for Windows Store apps
Supported in: Windows 8
.NET Framework
Supported in: 4.5, 4.0, 3.5
Portable Class Library
Supported in: Portable Class Library (Legacy), Portable Class Library
Rackspace Threading Library
Supported in: 1.1, 1.0
See Also