我可以使用异步无等待在C#

我可以使用异步无等待在C#

本文介绍了我可以使用异步无等待在C#?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

没有异步的await

认为,也许你误解做什么异步。该警告是
  完全正确的:如果你标记你的方法异步,但不使用等待
  在任何地方,那么你的方法不会是异步的。如果你调用它,所有的
  该方法里面的code将同步执行。

我想编写应该运行异步但使用一个线程,当不需要使用await.for例如一个方法

I want write a method that should run async but don't need use await.for example when use a thread

public async Task PushCallAsync(CallNotificationInfo callNotificationInfo)
{
    Logger.LogInfo("Pushing new call {0} with {1} id".Fill(callNotificationInfo.CallerId,
}

我要叫 PushCallAsync 和异步运行,并且不希望使用等待。

I want call PushCallAsync and run async and don't want use await.

我可以在C#中使用异步没有的await?

Can i use async without await in c#?

推荐答案

如果您Logger.LogInfo已经是异步这就够了:

if your Logger.LogInfo is already async this is enough:

public void PushCallAsync(CallNotificationInfo callNotificationInfo)
{
    Logger.LogInfo("Pushing new call {0} with {1} id".Fill(callNotificationInfo.CallerId,
}

如果它不只是启动异步无需等待它

if it is not just start it async without waiting for it

public void PushCallAsync(CallNotificationInfo callNotificationInfo)
{
    Task.Run(() => Logger.LogInfo("Pushing new call {0} with {1} id".Fill(callNotificationInfo.CallerId));
}

这篇关于我可以使用异步无等待在C#?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 08:22