前言
本打算繼續(xù)寫SQL Server系列,接下來應該是死鎖了,但是在.NET Core項目中到處都是異步,最近在寫一個爬蟲用到異步,之前不是很頻繁用到異步,當用到時就有點縮手縮尾,怕留下坑,還是小心點才是,于是一發(fā)不可收拾,發(fā)現(xiàn)還是too young,所以再次查看資料學習下Task,用到時再學效果可想而知,若有不同意見請在評論中指出。
建議異步返回Task或Task<T>
當在.NET Core中寫爬蟲用到異步去下載資源后接下來進行處理,對于處理完成結果我返回void,想到這里不僅僅一愣,這么到底行不行,翻一翻寫的第一篇博客,只是提醒了我下不要用void,至于為何不用也沒去探討,接下來我們來探討下返回值為Task和void,至于Task<T>這個和Task類似。我們直接看代碼,首先演示void,如下:
private static async void ThrowExceptionAsync() { await Task.Delay(TimeSpan.FromSeconds(1)); throw new InvalidOperationException(); } private static void AsyncVoidExceptions_CannotBeCaughtByCatch() { try {