无返回值的异步方法能否不用await

本文探讨了C#中无返回值的异步方法使用await的必要性,并讨论了如何判断此类方法执行是否成功。提供了具体示例,如在WebSocket消息发送场景下,如何正确处理无返回值的异步调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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(...)

待续

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值