无返回值的异步方法能否不用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(...)

待续

 
posted @ 2018-09-07 01:40  杨浪  阅读(4405)  评论(0编辑  收藏  举报