我正在阅读 Flutter 的文档。
关于 this page ,我观察了以下奇怪的方法。在该方法中,声明的返回类型是 Future。但是,该方法在任何地方都没有 return 关键字。这是为什么?
Future<void> _incrementCounter() async {
setState(() {
_counter++;
});
Directory directory = await getApplicationDocumentsDirectory();
final String dirName = directory.path;
await File('$dir/counter.txt').writeAsString('$_counter');
}
我已经能够确定所有的flutter函数都有返回值,默认返回值为null。但是如果这个方法总是返回null,那么为什么要声明一个Future<void>
的返回类型呢? ?
最佳答案
那是因为函数被标记了async
修饰符:
Future foo() async {
print('hello world');
}
相当于
Future foo() {
try {
print('hello world');
return Future.value(null);
} catch (err) {
return Future.error(err);
}
}
关于flutter - 为什么这个 Flutter 示例没有 return 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56689806/