當前位置:
首頁 > 知識 > 請教 C 非同步 async await 問題

請教 C 非同步 async await 問題

==========更新2017.06.15============

現在修改了非同步方法,執行不會報錯,程序正常結束。

請教 C 非同步 async await 問題

調用非同步方法:

不過新的問題:

return 語句會先於非同步方法執行,非同步方法的耗時比較長,前端會等待非同步方法執行完才真正return。

雖然return json先執行,但是會等待非同步方法中System.Diagnostics.Debug.WriteLine("GetSubsBySubsIdList End: " + result.ToString); 這個執行完才返回json。

如果非同步方法超時,前端還是會timeout。怎樣才能避免前端timeout,非同步方法還能調用呢?

這是為什麼呢?

==========更新2017.06.15============

之前對C#非同步只是膚淺了解,請教一個問題。

描述:

前台會發送一個Array,這個數組都是 id的集合,比較大。分兩步,首先保存這些id,然後去調用非同步方法。

可以正常返回json,也可以調用非同步方法。但是過一會兒,非同步方法運行完就報錯。

這個 返回值 result 沒有使用。

想要保存id,也要通知非同步方法開始運行。不等非同步方法執行完,提前返回json,不然前端會timeout。

code:

public ActionResult AjaxAddSubcription(string LSINumber, string[] SubIdArr, int currentV)
{
var returnJson = new AjaxJsonModel
{
ResultCode = -1,
Message = "Add subs failed, pleast try it again.",
};
var newSubIds = SubIdArr.Distinct.ToList;
// call Async method
var result = ProcessDataAsync(newSubIds);
//do other things
//.....
return Json(returnJson, JsonRequestBehavior.AllowGet);
}

//async method
static async Task ProcessDataAsync(List subIdList)
{
return await Task.Run( =>
{
// call api
return SubscriptionDataHelper.GetSubsBySubsIdList(subIdList);
});
}

程序會出錯,錯誤信息:

請教 C 非同步 async await 問題

請教 C 非同步 async await 問題

如果注釋掉這個非同步調用,可以正常運行。

這個非同步方法執行完後,程序是什麼狀態?會結束運行釋放資源么?

謝謝園友指教。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

C簡單構架之EF進行讀寫分離+多資料庫(Mysql/SqlService)
vue 高德地圖之玩轉周邊
在windows下使用Qt5開發GTK3圖形界面應用程序
angular2/angular4 如何通過$http的post方法請求下載二進位的Excel文件
帶著問題寫React Native原生控制項--Android視頻直播控制項

TAG:科技優家 |

您可能感興趣

請教 QuarkChain,Zilliqa 和以太坊的 Sharding 分片技術有無異同?
熊黛林發文感嘆嫁對人了,孕照超美,常向Angelababy請教育兒經
Summer實習申請教訓全紀錄
五歲Jasper在家自己洗衣服,謝娜、穎兒趕忙嚮應采兒請教育兒經
hold不住刺骨寒風?快請教泰迪熊大衣,保暖又好看
DNF剛剛學會上網衝浪,有個問題想請教各位勇士
孩子成為"老好人"?教孩子"分享"之前請教孩子"自私"
熊黛林發文,慶幸自己沒有嫁給郭富城,並像baby請教育兒經
匿名求助 | 我有個疑問想請教大家,女性原畫師,如果準備備孕,公司會不會因為你帶薪休產假的原因,而勸退你?-7.GAME
雷軍向李嘉誠展示小米MIX 2S/6X 請教中美貿易糾紛問題
王源是TFBOYS中最先承認拍過感情戲的,王俊凱和千璽會向他請教嗎
你以為TA在謗佛 實際他是用自己的方式向你請教佛法
重要的事說三遍,請教請教請教一下
學游泳需要請教練嗎?
孩子學習不主動,遇到問題不去請教,怎麼辦?
2018.9.9十二生肖運程,可嘗試請教有實學之前輩為己解困
我相親了,但是有一個問題想請教……
「我姐姐讓我加你,有事請教」……
初學者要不要請教練?還是自己先摸索一下?
請教大家一個問題:諾亞和賽迦的功夫是誰教的?