当前位置: 首页 > 知识库问答 >
问题:

在VB.NET中task.run应该如何调用异步方法?

骆嘉石
2023-03-14
Public Async Function RunAsync() As Task
    DoWork()
    Await networkStream.WriteAsync(buffer, 0, buffer.Length).ConfigureAwait(False)
End Function
Await Task.Run(Function() RunAsync())
' or
Await Task.Run(Sub() RunAsync())
Await Task.Run(Async Function()
                   Await RunAsync()
               End Function)
Await Task.Run(Function() RunAsync().ConfigureAwait(False))

Await Task.Run(Async Function()
                   Await RunAsync().ConfigureAwait(False)
               End Function)

注意:还有一个类似的问题,如何在task.run中调用异步方法?但是对于C#来说,选择的答案有反对票,并且没有地址configureaWait。

共有1个答案

夹谷阳夏
2023-03-14

C#task.run(()=>RunAsync())的VB等效项是什么?

我的VB非常生疏,但它不应该是sub一个,所以我会使用:

Task.Run(Function() RunAsync())

在task.run中的async/await关键字是必需的还是多余的?

我有一篇关于这个主题的博客文章。在本例中,它们是多余的,因为委托是微不足道的。

ConfigureAwait在task.run中有用吗?

只有当您执行await时。

 类似资料:
  • 没有await并且在非异步方法中调用异步方法的行为是什么?我这样问是因为我看到Visual Studio在调用异步方法时没有显示任何警告,好像这是一件非常正常的事情。在这种情况下,异步方法的行为是否像是同步的?

  • 同步调用异步方法最安全的方法是什么?

  • 问题内容: 我有一个发出异步请求的函数。我如何从中返回响应/结果? 我尝试从回调中返回值,以及将结果分配给函数内部的局部变量并返回该局部变量,但这些方法均未真正返回响应(它们都返回或变量的初始值为任意值) 。 使用jQuery函数的示例: 使用node.js的示例: 使用承诺块的示例: 问题答案: 在 一 中的Ajax代表 异步 。这意味着发送请求(或接收响应)已从正常执行流程中删除。在您的示例中

  • 使用promise的块的示例:

  • 我的代码有点像这样:所以我想异步调用SendSms部分。我该怎么做?我可以简单地使用task.run Async和await吗?