Nito.AsyncEx.AsyncContext.Run 的正确用法
Correct usage for Nito.AsyncEx.AsyncContext.Run
我正在使用 Steven called AsyncEx 中的优秀库来帮助我逐步将旧代码库过渡到异步世界。
文档说..
class Program
{
static async Task<int> AsyncMain()
{
..
}
static int Main(string[] args)
{
return AsyncContext.Run(AsyncMain);
}
}
当调用具有不同签名的方法时,我应该做什么..
var blah = AsyncContext.Run(() => MyMethodAsync(myvar));
或在调用中指定async/wait?
var blah = AsyncContext.Run( async () => await MyMethodAsync(myvar));
或者,这不重要吗?
我现在相信这和 and therefore Rene's答案一样会有正确的
这里总结得不好——等待编译器的开销有点多,但在运行时基本相同。
我正在使用 Steven called AsyncEx 中的优秀库来帮助我逐步将旧代码库过渡到异步世界。
文档说..
class Program
{
static async Task<int> AsyncMain()
{
..
}
static int Main(string[] args)
{
return AsyncContext.Run(AsyncMain);
}
}
当调用具有不同签名的方法时,我应该做什么..
var blah = AsyncContext.Run(() => MyMethodAsync(myvar));
或在调用中指定async/wait?
var blah = AsyncContext.Run( async () => await MyMethodAsync(myvar));
或者,这不重要吗?
我现在相信这和
这里总结得不好——等待编译器的开销有点多,但在运行时基本相同。