無返回值的異步方法能否不用await


 

1、無返回值的異步方法能否不用await?

 

如果你不需要等待加一的操作完成,那就可以直接執行后面的操作。那要看你的需求了,如果你后面的操作必須在加一的操作后執行,那就要await了

2、請問C#中如何判斷無返回值的await 方法是否執行成功?

我在調用.net自帶的方法發送websocket消息,代碼如下:

 

await socket.SendAsync(buffer, WebSocketMessageType.Text, true, CancellationToken.None);

 

這個方法簽名是返回一個Task,

可是寫成 Task t=await socket.SendAsync(...);會提示無法將void轉換成Task;

 

我想通過await socket.SendAsync(...).Exception==null來判斷是否發送成功,

可是if(await socket.SendAsync(...).Exception==null)會提示無法等待bool.

 

Task t = await socket.SendAsync(...)

改為

bool result = await socket.SendAsync(...)

待續

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM