如果有一个不返回值的异步函数,理想的返回类型是Future<Null>
还是Future<void>
?或者更具体地说,两者使用的区别是什么?两种方式都是合法的,而且在两种情况下函数的返回值都是解析为null
的Future
。以下代码将打印两次null
:
import 'dart:async';
Future<void> someAsync() async {}
Future<Null> otherAsync() async {}
main() {
someAsync().then((v) => print(v));
otherAsync().then((v) => print(v));
}
void
来接受任意返回值是不可行的。因此我猜想在未来,使用Future<void>
来返回值也将被禁止。另外,Null
作为一种类型是没有意义的,所以我猜想它在未来会消失。感谢你的精彩回答。 - Rolando Urquiza