我一直在使用async / await一段时间了。我知道有一些真正的好处。我发现的最大好处是在对API进行多次查询并处理所有帖子之后再等待之前的帖子完成。
但我的问题是关于异步控制器,它们有什么好处。
对于这个例子,我将使用sharepoint,但它可能与任何单个调用API有关。
同步动作如下所示:
public ActionResult LoadUsers(){
{
var camlQuery = CamlQuery.CreateAllItemsQuery();
var listItems = List.GetItems(camlQuery);
ClientContext.Load(listItems);
ClientContext.ExecuteQuery(); //This command will make POST call to api
return Json(id=listItems.id);
}
现在我对同一件事的异步调用看起来像是:
public async Task<ActionResult> LoadUsers(){
{
var camlQuery = CamlQuery.CreateAllItemsQuery();
var listItems = List.GetItems(camlQuery);
ClientContext.Load(listItems);
await Task.Run(() => ClientContext.ExecuteQuery()); //This command will make POST call to api
return Json(id=listItems.id);
}
在这种情况下有什么好处吗?这两个操作都将在同一位置阻止,并在返回API的响应后继续。