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
Visual Basic | Copy Code |
---|
Public Sub CoroutineSample4()
Dim mgr = New NorthwindIBEntities()
Dim op = Coroutine.Start(Function(coop As CoroutineOperation) Sample3Actions(coop, mgr))
AddHandler op.Completed, Sub(s As Object, e As CoroutineCompletedEventArgs)
If e.CompletedSuccessfully Then
MessageBox.Show("OK")
End If
End Sub
End Sub
Private Function Sample3Actions(ByVal coop As CoroutineOperation, 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.Take(2).ExecuteAsync()
operationList.Add(f1)
Dim f2 As Func(Of INotifyCompleted) =
Function()
' Use the results from the first async query.
Dim firstOp = DirectCast(coop.Notifications.First(), EntityQueryOperation(Of Customer))
Dim customers = firstOp.Results
Dim cityList = New List(Of String)
customers.ForEach(Sub(cust As Customer) cityList.Add(cust.City))
Dim pd = New IdeaBlade.Linq.PredicateDescription(GetType(Order), "Shipcity", IdeaBlade.Linq.FilterOperator.InList, cityList)
Return mgr.Orders.Where(pd).ExecuteAsync()
End Function
operationList.Add(f2)
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