亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何逃離異步任務

如何逃離異步任務

C#
慕工程0101907 2022-01-09 16:04:21
我目前正在編寫一個不和諧的小項目,并利用異步功能。但是我在理解如何有效地逃避我的方法時遇到了一些麻煩。說我有這個方法:public async Task DoSomething(Item a, Person b){   if(b is NPC)   {     await DoFunction()   }   // Code to Handle Everything else}我的問題是,如何在第一次等待之后有效地離開該方法?有人告訴我在異步任務中使用返回是不好的做法。是否像使用有效的 Ifs 和 Elses 一樣簡單,而不是使用單數 ifs?這讓我很困惑。
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

最好和最簡單的方法是簡單地返回。每個方法都必須在某個時候返回。我不知道為什么以及如何可能是不好的做法。


查看完整回答
反對 回復 2022-01-09
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

我會試試這個:


        if (b is NPC)

        {

            await Task.Run(() =>

            {

                return DoFunction();

            });

        }


查看完整回答
反對 回復 2022-01-09
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

回歸什么?DoSomething() 的返回還是 DoFunction() 的返回?由于 DoSomething() 是“異步任務”,你別無選擇——你不能返回任何值。換句話說,這不是一個壞習慣,它甚至不會編譯。如果您刪除“async”,那么 DoSomething() 將不得不返回 Task,然后顯然它將無法調用“await”。請記住,“異步”會更改方法返回值的語法


查看完整回答
反對 回復 2022-01-09
  • 3 回答
  • 0 關注
  • 201 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號