异步和等待返回类型混淆

本文关键字:返回类型 等待 异步 | 更新日期: 2023-09-27 18:31:04

你好朋友们,我想知道某些异步方法的返回类型对其行为的影响,例如我有一个名为methodasync1()的方法,例如

private async void methodasync1(filename)
{
    await getfileaysnc(filename);
}

和其他函数 methodasync2() 类似

private async Task methodasync2(filename)
{
    await getfileasync(filename);
}

两个功能是否以相同的方式工作或有任何区别。还有我应该知道的任何概念,请告诉我任何想法和帮助,不胜感激

异步和等待返回类型混淆

当方法返回类型为 void 时,它不能等待,它本质上是一个"即发即弃"。因此,在您的情况下调用 methodasync1 的方法无法知道它何时实际完成。在第二种情况下,methodasync2,由于您返回了一个任务,因此可以等待它,因此调用方法可以知道它何时实际完成。