拥有一个不返回值的异步函数,理想的返回类型Future<Null>
或Future<void>
是什么?,或者更具体地说,使用它们的区别是什么?两者都是合法的,在这两种情况下,函数的返回值都是Future
,可以解析为null
。以下代码两次打印null
:
import 'dart:async';
Future<void> someAsync() async {}
Future<Null> otherAsync() async {}
main() {
someAsync().then((v) => print(v));
otherAsync().then((v) => print(v));
}
答案 0 :(得分:10)
类型Null
仅允许值null
类型void
允许任何类型的值,但传达不应使用该值。
目前尚不清楚工具支持如何处理void
。可能存在使用void
值提示或警告的内容规则。
Null
代替void
,因为void
仅支持作为方法/函数的返回类型。