[This is preliminary documentation and is subject to change.]
Chains task 'first' with task returned by 'next' passing result of 'first' to 'next' if first is completed, not cancelled and not faulted.
Returns task that completes after task returned by 'next' completes with result from 'next' task
Namespace: NFXAssembly: NFX (in NFX.dll) Version: 3.0.0.1 (3.0.0.1)
public static Task<T2> OnOk<T1, T2>(
this Task<T1> first,
Func<T1, Task<T2>> next,
TaskContinuationOptions firstOptions = TaskContinuationOptions.ExecuteSynchronously,
TaskContinuationOptions nextOptions = TaskContinuationOptions.ExecuteSynchronously
)
public static Task<T2> OnOk<T1, T2>(
this Task<T1> first,
Func<T1, Task<T2>> next,
TaskContinuationOptions firstOptions = TaskContinuationOptions.ExecuteSynchronously,
TaskContinuationOptions nextOptions = TaskContinuationOptions.ExecuteSynchronously
)
<ExtensionAttribute>
Public Shared Function OnOk(Of T1, T2) (
first As Task(Of T1),
next As Func(Of T1, Task(Of T2)),
Optional firstOptions As TaskContinuationOptions = TaskContinuationOptions.ExecuteSynchronously,
Optional nextOptions As TaskContinuationOptions = TaskContinuationOptions.ExecuteSynchronously
) As Task(Of T2)
<ExtensionAttribute>
Public Shared Function OnOk(Of T1, T2) (
first As Task(Of T1),
next As Func(Of T1, Task(Of T2)),
Optional firstOptions As TaskContinuationOptions = TaskContinuationOptions.ExecuteSynchronously,
Optional nextOptions As TaskContinuationOptions = TaskContinuationOptions.ExecuteSynchronously
) As Task(Of T2)
public:
[ExtensionAttribute]
generic<typename T1, typename T2>
static Task<T2>^ OnOk(
Task<T1>^ first,
Func<T1, Task<T2>^>^ next,
TaskContinuationOptions firstOptions = TaskContinuationOptions::ExecuteSynchronously,
TaskContinuationOptions nextOptions = TaskContinuationOptions::ExecuteSynchronously
)
public:
[ExtensionAttribute]
generic<typename T1, typename T2>
static Task<T2>^ OnOk(
Task<T1>^ first,
Func<T1, Task<T2>^>^ next,
TaskContinuationOptions firstOptions = TaskContinuationOptions::ExecuteSynchronously,
TaskContinuationOptions nextOptions = TaskContinuationOptions::ExecuteSynchronously
)
static member OnOk :
first : Task<'T1> *
next : Func<'T1, Task<'T2>> *
?firstOptions : TaskContinuationOptions *
?nextOptions : TaskContinuationOptions
(* Defaults:
let _firstOptions = defaultArg firstOptions TaskContinuationOptions.ExecuteSynchronously
let _nextOptions = defaultArg nextOptions TaskContinuationOptions.ExecuteSynchronously
*)
-> Task<'T2>
static member OnOk :
first : Task<'T1> *
next : Func<'T1, Task<'T2>> *
?firstOptions : TaskContinuationOptions *
?nextOptions : TaskContinuationOptions
(* Defaults:
let _firstOptions = defaultArg firstOptions TaskContinuationOptions.ExecuteSynchronously
let _nextOptions = defaultArg nextOptions TaskContinuationOptions.ExecuteSynchronously
*)
-> Task<'T2>
- T1
- T2
Return Value
Type:
Task T2 Usage Note
In Visual Basic and C#, you can call this method as an instance method on any object of type
Task T1 . 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).