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