【发布时间】:2019-09-03 09:22:57
【问题描述】:
在 Dart 中,对于异步运行但不应该使用其返回值的函数有 2 个选项。
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{
...
}
【问题讨论】:
-
对于返回
void的同步函数,你会怎么做?对于返回Future<void>的async函数,执行相同的操作。
标签: asynchronous dart future void