CoreTaskExtensionsThenTResult Method (Task, FuncTask, TaskTResult) |
Namespace: Rackspace.Threading
public static Task<TResult> Then<TResult>( this Task task, Func<Task, Task<TResult>> continuationFunction )
Exception | Condition |
---|---|
ArgumentNullException |
If task is . -or- If continuationFunction is . |
This code implements support for the following construct without requiring the use of /.
await task.ConfigureAwait(false); return await continuationFunction(task).ConfigureAwait(false);
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 continuationFunction is executed synchronously, this method should only be used for lightweight continuation functions. This restriction applies only to continuationFunction itself, not to the Task returned by it. |