本文整理汇总了VB.NET中System.Threading.Tasks.Task.Delay方法的典型用法代码示例。如果您正苦于以下问题:VB.NET Task.Delay方法的具体用法?VB.NET Task.Delay怎么用?VB.NET Task.Delay使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Threading.Tasks.Task
的用法示例。
在下文中一共展示了Task.Delay方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。
示例1: Example
' 导入命名空间
Imports System.Threading
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim source As New CancellationTokenSource()
Dim t = Task.Run(Async Function()
Await Task.Delay(TimeSpan.FromSeconds(1.5),
source.Token)
Return 42
End Function)
source.Cancel()
Try
t.Wait()
Catch ae As AggregateException
For Each e In ae.InnerExceptions
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message)
Next
End Try
Console.Write("Task t Status: {0}", t.Status)
If t.Status = TaskStatus.RanToCompletion Then
Console.Write(", Result: {0}", t.Result)
End If
source.Dispose()
End Sub
End Module
输出:
TaskCanceledException: A task was canceled. Task t Status: Canceled
示例2: Example
' 导入命名空间
Imports System.Threading
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim source As New CancellationTokenSource()
Dim t = Task.Run(Async Function()
Await Task.Delay(1000, source.Token)
Return 42
End Function)
source.Cancel()
Try
t.Wait()
Catch ae As AggregateException
For Each e In ae.InnerExceptions
Console.WriteLine("{0}: {1}", e.GetType().Name, e.Message)
Next
End Try
Console.Write("Task t Status: {0}", t.Status)
If t.Status = TaskStatus.RanToCompletion Then
Console.Write(", Result: {0}", t.Result)
End If
source.Dispose()
End Sub
End Module
输出:
TaskCanceledException: A task was canceled. Task t Status: Canceled
示例3: Example
' 导入命名空间
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim t = Task.Run(Async Function()
Await Task.Delay(1000)
Return 42
End Function)
t.Wait()
Console.WriteLine("Task t Status: {0}, Result: {1}",
t.Status, t.Result)
End Sub
End Module
输出:
Task t Status: RanToCompletion, Result: 42
示例4: Function
Dim sw As Stopwatch = Stopwatch.StartNew()
Dim delay1 = Task.Delay(1000)
Dim delay2 = delay1.ContinueWith( Function(antecedent)
sw.Stop()
Return sw.ElapsedMilliseconds
End Function)
Console.WriteLine("Elapsed milliseconds: {0}", delay2.Result)
输出:
Elapsed milliseconds: 1013
示例5: Function
Dim delay = Task.Run( Async Function()
Dim sw As Stopwatch = Stopwatch.StartNew()
Await Task.Delay(2500)
sw.Stop()
Return sw.ElapsedMilliseconds
End Function )
Console.WriteLine("Elapsed milliseconds: {0}", delay.Result)
输出:
Elapsed milliseconds: 2501
示例6: Example
' 导入命名空间
Imports System.Threading.Tasks
Module Example
Public Sub Main()
Dim t = Task.Run(Async Function()
Await Task.Delay(TimeSpan.FromSeconds(1.5))
Return 42
End Function)
t.Wait()
Console.WriteLine("Task t Status: {0}, Result: {1}",
t.Status, t.Result)
End Sub
End Module
输出:
Task t Status: RanToCompletion, Result: 42