【发布时间】:2019-02-28 00:49:41
【问题描述】:
在花了太多时间试图解决异步/等待地狱之后,我们试图获得一个标准,当我们必须在我们无法控制的库上调用异步方法以及没有非异步的情况下方法提供并从我们的代码中获取异步。
我不想讨论它的优点,我确信对于某些人来说 async/await 有效,只是调用任何 async 方法并且不会出现死锁等的万无一失的方法。
会
public someObject SomeFunction(string parameter)
{
return Task.Run(() => 3rdPartyLib.SomeFunctionAsync(parameter)).Result;
}
和
public void SomeMethod()
{
return Task.Run(() => 3rdPartyLib.SomeMethodAsync()).Wait;
}
做这份工作?我需要配置等待(假)吗?异常会正常工作吗?
【问题讨论】:
-
答案是没有。从字面上看,您所做的任何事情都会有潜在的问题。这就是为什么你首先不需要把自己放在那个位置上。如果有一个简单的万无一失的解决方案始终有效,您就不会经常有人告诉您为什么不应该这样做,因为没有必要。
-
@Servy 我同意,我已经尝试找到具有同步方法的替代库
标签: c# async-await