Start serial execution of multiple asynchronous actions.
Syntax
Parameters
- asyncFns
- List of asynchronous functions
- completedHandler
- Optional completion handle
Return Value
A CoroutineOperation representing this operation
Example
C# | Copy Code |
---|
public void CoroutineSample3() {
Coroutine.Start(Sample3Actions(_entityManager), (op) => {
MessageBox.Show(op.Result.ToString());
});
}
private IEnumerable<Func<INotifyCompleted>> Sample3Actions(DomainModelEntityManager mgr) {
// Not an iterator block - this returns a list of async actions
yield return () => mgr.Customers.ExecuteAsync();
yield return () => mgr.Employees.ExecuteAsync();
yield return () => Coroutine.Return("all done");
} |
Visual Basic | Copy Code |
---|
Public Sub CoroutineSample3()
Coroutine.Start(Sample3Actions(Manager),
Sub(op As CoroutineOperation)
MessageBox.Show(op.Result.ToString())
End Sub)
End Sub
Private Function Sample3Actions(ByVal mgr As NorthwindIBEntities) As IEnumerable(Of Func(Of INotifyCompleted))
' Setup of the list of async functions for the Coroutine to execute serially.
Dim operationList = New List(Of Func(Of INotifyCompleted))
Dim f1 As Func(Of INotifyCompleted) = Function() mgr.Customers.ExecuteAsync()
operationList.Add(f1)
Dim f2 As Func(Of INotifyCompleted) = Function() mgr.Employees.ExecuteAsync()
operationList.Add(f2)
Dim f3 As Func(Of INotifyCompleted) = Function() Coroutine.Return("all done")
operationList.Add(f3)
Return operationList
End Function |
Remarks
Requirements
Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family
See Also