异步直通方法

时间:2016-08-11 19:41:49

标签: c# async-await

冒泡异步时,给定一个方法,其唯一目的是使用特定参数调用另一个异步方法,以下哪个是可接受/首选模式,以及为什么?

async Task MyMethodAsync() => await MyOtherMethodAsync(1);

Task MyMethodAsync() => MyOtherMethodAsync(1);

2 个答案:

答案 0 :(得分:4)

我更愿意:

Task MyMethodAsync() => MyOtherMethodAsync(1);

使用asyncawait实际上会增加相当多的开销来构建一个完整的状态机,其中第二个只是一个简单的方法调用。

制作方法async本身的唯一潜在好处是,如果您想添加异常处理,并将堆栈跟踪作为本地方法,或记录异常。

答案 1 :(得分:1)

更喜欢后者,它不会设置额外的... Set col = rx.Execute(Replace(sText, ",,", ", ,")) ... 状态机,只对它不做任何事情。