本文整理匯總了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