如何在不阻塞線程的情況下在SubmitWorkitem()
方法後執行UpdateTasklist()
方法?等待異步方法不阻塞線程
private async void SubmitWorkitem(Workitem workitem)
{
await Task.Run(() => this.SubmitWorkitem(workitem));
//UpdateTasklist() should be executed after SubmitWorkitem() method.
//How can i achieve this without blocking the UI thread?
var locator = new ViewModelLocator();
locator.Task.UpdateTasklist();
}
編輯:
的UpdateTasklist()
方法連接到一個WCF Web服務,並要求所有打開的工作項。在SubmitWorkitem()
方法中提交的工作項目仍然是答覆的一部分。我認爲這將是因爲UpdateTasklist()
在提交工作項目完成之前執行。
注意UpdateTasklist()
也是異步方法
要麼定義回調,或把'UpdateTaskList'放在異步任務 –
編輯我的答案編輯 –
哦,只是注意到,這是'async void';是的...不要那樣做;那簡直是危險的。該特性* only *存在以允許事件處理程序;你絕對不應該選擇「異步無效」方法;它應該是'異步任務'或'異步任務' –