Task(TResult).ContinueWith(TNewResult) Method (Func(Task(TResult), Object, TNewResult), Object)
Creates a continuation that executes when the target Task(TResult) completes.
Assemblies: System.Threading.Tasks (in System.Threading.Tasks.dll)
mscorlib (in mscorlib.dll)
member ContinueWith : continuationFunction:Func<Task<'TResult>, Object, 'TNewResult> * state:Object -> Task<'TNewResult>
The type of the result produced by the continuation.
- Type: System.Func(Task(TResult), Object, )
A function to run when the Task(TResult) completes. When run, the delegate will be passed the completed task and the caller-supplied state object as arguments.
- Type: System.Object
An object representing data to be used by the continuation function.
The returned Task(TResult) will not be scheduled for execution until the current task has completed, whether it completes due to running to completion successfully, faulting due to an unhandled exception, or exiting out early due to being canceled.
The following example creates a chain of continuation tasks. Each task provides the current time, a DateTime object, for the state argument of the ContinueWith(Action(Task, Object), Object) method. Each DateTime value represents the time at which the continue task is created. Each task produces as its result a second DateTime value that represents the time at which the task finishes. After all tasks finish, the example displays the date and times at which each continuation task starts and finishes.