前言

本打算繼續(xù)寫SQL Server系列,接下來應(yīng)該是死鎖了,但是在.NET Core項(xiàng)目中到處都是異步,最近在寫一個(gè)爬蟲用到異步,之前不是很頻繁用到異步,當(dāng)用到時(shí)就有點(diǎn)縮手縮尾,怕留下坑,還是小心點(diǎn)才是,于是一發(fā)不可收拾,發(fā)現(xiàn)還是too young,所以再次查看資料學(xué)習(xí)下Task,用到時(shí)再學(xué)效果可想而知,若有不同意見請(qǐng)?jiān)谠u(píng)論中指出。

建議異步返回Task或Task<T>

當(dāng)在.NET Core中寫爬蟲用到異步去下載資源后接下來進(jìn)行處理,對(duì)于處理完成結(jié)果我返回void,想到這里不僅僅一愣,這么到底行不行,翻一翻寫的第一篇博客,只是提醒了我下不要用void,至于為何不用也沒去探討,接下來我們來探討下返回值為Task和void,至于Task<T>這個(gè)和Task類似。我們直接看代碼,首先演示void,如下:

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

        private static async void ThrowExceptionAsync()
        {            await Task.Delay(TimeSpan.FromSeconds(1));            throw new InvalidOperationException();
        }        private static void AsyncVoidExceptions_CannotBeCaughtByCatch()
        {            try
            {
                ThrowExceptionAsync();
            }&
        
		

網(wǎng)友評(píng)論