我有一種方法可以收集每個產品的變化文件。我想讓該方法異步,因爲它從其他網站下載文件。香港專業教育學院取得驗證碼:來自任務線程的數據出現故障
For Each product In productList
If model.Sds Then
Dim sdsTask As Task(Of ZipFile) = Task(Of ZipFile).Factory.StartNew(Function() GetSafetyDataSheets(product.Product))
sdsTask.ContinueWith(Sub(t)
product.SDS = t.Result
Debug.WriteLine("test")
End Sub, TaskContinuationOptions.OnlyOnRanToCompletion)
taskList.Add(sdsTask)
End If
If model.Apb Then
Dim apbTask As Task(Of List(Of ZipFile)) = Task(Of List(Of ZipFile)).Factory.StartNew(Function() GetAPB(product.Product, model.Department))
apbTask.ContinueWith(Sub(t) product.Instruction = t.Result)
taskList.Add(apbTask)
End If
If model.Pdb Then
Dim pdbTask As Task(Of ZipFile) = Task(Of ZipFile).Factory.StartNew(Function() GetProductDatasheet(product.Product))
pdbTask.ContinueWith(Sub(t) product.PDB = t.Result)
taskList.Add(pdbTask)
End If
Next
Task.WaitAll(taskList.ToArray)
但是,當它已經等待和IM試圖訪問SDS,APB或PDB的產品在我的產品列表,他們只是空對象。我可以看到我的「getter」方法返回正常,但數據永遠不會使其產生.SDS屬性等。