Dart 2:Future 和 Future 之间的区别

2024-03-25

有一个不返回值的异步函数,理想的返回类型是什么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(使用前将#替换为@)

Dart 2:Future 和 Future 之间的区别 的相关文章

随机推荐