Visual Basic .NET Language
टास्क-आधारित एसिंक्रोनस पैटर्न
खोज…
Async / Await का मूल उपयोग
आप समानांतर में कुछ धीमी प्रक्रिया शुरू कर सकते हैं और तब परिणाम प्राप्त कर सकते हैं जब वे किए जाते हैं:
Public Sub Main()
Dim results = Task.WhenAll(SlowCalculation, AnotherSlowCalculation).Result
For Each result In results
Console.WriteLine(result)
Next
End Sub
Async Function SlowCalculation() As Task(Of Integer)
Await Task.Delay(2000)
Return 40
End Function
Async Function AnotherSlowCalculation() As Task(Of Integer)
Await Task.Delay(2000)
Return 60
End Function
दो सेकंड के बाद दोनों परिणाम उपलब्ध होंगे।
LINQ के साथ TAP का उपयोग करना
आप LINQ Select
विधि से AddressOf AsyncMethod
पास करके Task
IEnumerable
बना सकते हैं और फिर Task.WhenAll
साथ सभी परिणामों को शुरू और प्रतीक्षा करें
यदि आपके विधि में पिछले LINQ श्रृंखला कॉल से मेल खाते पैरामीटर हैं, तो वे स्वचालित रूप से मैप किए जाएंगे।
Public Sub Main()
Dim tasks = Enumerable.Range(0, 100).Select(AddressOf TurnSlowlyIntegerIntoString)
Dim resultingStrings = Task.WhenAll(tasks).Result
For Each value In resultingStrings
Console.WriteLine(value)
Next
End Sub
Async Function TurnSlowlyIntegerIntoString(input As Integer) As Task(Of String)
Await Task.Delay(2000)
Return input.ToString()
End Function
विभिन्न तर्कों को मैप करने के लिए आप AddressOf Method
को लैम्ब्डा से बदल सकते हैं:
Function(linqData As Integer) MyNonMatchingMethod(linqData, "Other parameter")
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow