我有一個同步調用,我需要轉換爲異步,我使用異步/等待關鍵字,但這隻會返回一旦任務完成我需要做的就是返回結果到UI逐一。在ASP.NET MVC中的異步操作4
該場景是我有一個任務列表顯示給用戶,一旦他們已經過身份驗證但是我希望一旦從數據庫中檢索到任務,一次加載一個任務,這裏是我的actionResult,它將搜索條件預過濾器的任務:
public async Task<ActionResult> Index(string searchTerm = null, int page = 1)
{
Shared.InitialiseCriteria(SearchCriteria);
SearchCriteria.DepartmentID = DepartmentID;
SearchCriteria.PageSize = 15;
SearchCriteria.FreeText = searchTerm;
var model = await DoStuff(SearchCriteria);
if (Request.IsAjaxRequest())
{
return PartialView("_ConversationList", model);
}
return View(model);
}
這裏是AWAIT任務這就要求GetConversation基本上得到任務時,首要的任務就是找到我需要它被裝載到索引視圖:
private async Task<Result> DoStuff(CSearchCriteria SearchCriteria)
{
return GetConversations(SearchCriteria);
}
你能進一步解釋究竟你希望發生的,到底發生了什麼? – sinelaw
我希望在數據庫中找到的任務可以逐個加載到局部視圖中,這樣用戶就不會在加載屏幕上出現,此時只需要加載四個任務大約需要10秒。如果需要,我可以提供更多信息... – user2711252