您好朋友我想知道某些异步方法的返回类型对其行为的影响,就像我有一个名为methodasync1()的方法一样
private async void methodasync1(filename)
{
await getfileaysnc(filename);
}
和其他函数methodasync2()类似
private async Task methodasync2(filename)
{
await getfileasync(filename);
}
两种功能都以相同的方式工作或存在任何差异。 以及我应该知道的任何概念,请告诉我任何想法和帮助表示赞赏
答案 0 :(得分:5)
当一个方法返回类型为void时,它是无法等待的,它本质上是一个“火上浇油”。因此,在您的情况下调用methodasync1的方法无法知道它何时实际完成。在第二种情况下,methodasync2,因为你正在返回一个Task,它可以等待,所以调用方法可以知道它何时实际完成。