有一个不返回值的异步函数,理想的返回类型是什么Future<Null>
or 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));
}
方式Null
只允许该值null
方式void
允许任何类型的值,但表明不应使用该值。
我还不清楚工具支持将如何对待void
。可能会有 linter 规则暗示或警告使用void
values.
Null
被用来代替void
以前因为void
仅支持作为方法/函数的返回类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)