在Dart中,有两个选项用于异步运行的函数,但不应使用其返回值。
Future<Null>
Future<void>
从Dart 2.0开始,通常建议在大多数情况下使用void而不是Null(由于警告不应使用void类型)。
对于这些,不应该要求返回类型,但可以返回所有类型。但是这里最好的做法是什么,如果我仍然返回一些东西,我应该用空返回(1)结束函数,返回null或其他东西(2)或者我应该结束函数(3)?我是否可能错过了3个选项之间的任何本质区别,假设返回值没有被使用(例如await exampleFunction()应该在所有情况下等到函数完成)?它本质上只是代码风格吗?
1)
Future<void> exampleFunction() async{
...
return;
}
2)
Future<void> exampleFunction() async{
...
return null;
}
3)
Future<void> exampleFunction() async{
...
}
如果异步方法返回Future<void>
,最佳做法是避免在其结尾处返回空值。但是,您仍然可以使用return
在某些条件下退出该方法:
Future<void> exampleFunction() async{
if (skip) return;
await doSomething();
}
No. Future类型只是表明该函数将被称为async。