2013-03-27 77 views
1

我曾尝试使用下面的代码回调任务

For (//pls ignore the variables) 
      Dim task = (New System.Threading.Tasks.TaskFactory()).StartNew(
      Sub() 
       downloadFiles() 
      End Sub 
      ) 

Next 

创建任务的n次创造了一个任务,它异步工作正常。现在我不知道如何为此添加回调方法。任何人都可以请告诉我如何为此添加回调?

回答

2

回调的使用应该是这样的: 我离开了对...每个。

Private Sub StartTask_Click(sender As Object, e As RoutedEventArgs) Handles StartTask.Click 
    Dim LongTask As Task = (New System.Threading.Tasks.TaskFactory).StartNew(AddressOf DoWorkAsync) 
    LongTask.ContinueWith(AddressOf WorkCompleted) 
    Debug.Print("") 
    End Sub 

    ''' <summary> 
    ''' Called after DoWorkAsync Task is complete 
    ''' </summary> 
    ''' <remarks></remarks> 
    Private Sub WorkCompleted() 
    Debug.Print("completed") 
    End Sub 

    ''' <summary> 
    ''' Called by Task 
    ''' </summary> 
    ''' <remarks></remarks> 
    Public Sub DoWorkAsync() 
    For i = 0 To 2000 
     Debug.Print("test") 
    Next 
    End Sub