直接调用等待任务.C#.



我现在正在学习等待/异步。 我有一个问题: 直接在任务上调用 await 和稍后调用它有区别吗?

var task = getAllAsync();
...
var list = await task;

var list = await getAllAsync();

如果有区别,那是什么?

如果您在将"task"分配给变量后立即等待,则没有区别。如果在方法调用和等待之间有代码,则有机会并行执行操作。

大多数任务都是"热"创建的 - 它们已经开始操作(如读取文件(。因此,如果您在await之前有一些代码,则该代码可能会在任务启动的操作单独进行时执行。即您可以启动多个任务,然后等待所有任务完成 - 运行多个异步任务并等待它们全部完成。

最新更新