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

Posted yanglang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无返回值的异步方法能否不用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(...)

待续

 

以上是关于无返回值的异步方法能否不用await的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 的 async/await

C# 异步方法加await调用不就变成同步方法了吗

Task和async/await详解

C#:异步编程中的 async 和 await

任务Task系列之异步编程(async and await)

java vertx写出较为简单的便于阅读的顺序串行异步代码