如果我有一个异步方法,在参数中包含一个异步方法和一个无异步方法。
哪种方法会首先运行?
示例:
await ExampleMethod(
Func<Task>: await Example.SomeMethod(),
Func<IEnumerable<T>> Example.SomeOtherMethod()
);发布于 2022-02-01 14:41:10
哪种方法会首先运行?
异步方法调用没有什么神奇之处。它们是开始同步执行,就像任何其他方法一样。 (正如我在博客中描述的)。另外,异步根本不影响参数计算的顺序。
因此,这个代码:
await ExampleMethod(await Example.SomeMethod(), Example.SomeOtherMethod());本质上与以下代码相同:
var parameter1 = await Example.SomeMethod();
var parameter2 = Example.SomeOtherMethod();
await ExampleMethod(parameter1, parameter2);https://stackoverflow.com/questions/70941099
复制相似问题