5
比方说,我有一个立即调用另一个异步方法类似的方法或:传递异步方法是否真的需要await/async模式?
//Main method
public async Task<int> Foo1(int x)
{
var result = await DoingSomethingAsync(x);
return DoSomethingElse(result);
}
//other method
public async Task<int> Foo2(Double double)
{
return await Foo1(Convert.ToInt32(double));
}
是否有任何具体的原因,Foo2
需求/应该有异步/ AWAIT,而不是简单地调用:
//other method
public Task<int> Foo3(Double double)
{
return Foo1(Convert.ToInt32(double));
}
在消费者,这仍然会等待,likeso,不管:
int x = await Foo1(1);
int x = await Foo2(1D);
int x = await Foo3(1D);
所有这些语句会编译。编译器会为两种不同的方法生成不同的IL吗?