Asynchronous Lambda Expressions

Methods can be asynchronous, but so can lambda expressions. To be asynchronous, a lambda must have the Async modifier and must return Task or Task(Of T), but it cannot accept ByRef arguments and cannot be an iterator function. A lambda can be asynchronous when its code uses the Await operator to wait for a Task result. An example of asynchronous lambdas is with event handlers. For instance, you might need to wait for the result of a task when an event is raised, as in the following code snippet that handles a button’s Click:

AddHandler Me.Button1.Click, Async Sub(sender, e)                                 Await DoSomeWorkAsync                             End Sub

You do not need an ...

Get Visual Basic 2015 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.