我应该 return 一个 Future<void> 函数的值吗?

Should i return a value for a Future<void> Function?

在 Dart 中,运行 异步函数有 2 个选项,但不应使用其 return 值。

Future<Null>
Future<void>

从 Dart 2.0 开始,在大多数情况下通常建议使用 void 而不是 Null(由于不应使用 void 类型的警告)。

对于这些,不需要 return 类型,但可以 return 所有类型。但是这里的最佳实践是什么,我应该还是 return 什么,我应该用空的 return (1)、return null 或其他东西 (2) 结束函数,还是我应该只是结束功能(3)?假设没有使用 return 值(f.e。await exampleFunction() 在所有情况下都应该等到函数完成),我是否可能错过了 3 个选项之间的任何本质区别?它本质上只是代码风格吗?

1)

Future<void> exampleFunction() async{
  ...
  return;
} 

2)

Future<void> exampleFunction() async{
  ...
  return null;
} 

3)

Future<void> exampleFunction() async{
  ...     
} 

没有。 Future 类型只是表示该函数将被异步调用。

如果 async 方法 returns Future<void> 最好的做法是避免在其末尾空 return 。但是在某些情况下您仍然可以使用 return 退出该方法:

Future<void> exampleFunction() async{
  if (skip) return;
  await doSomething();     
}