Flutter Dart 函数作为另一个函数的参数
Flutter Dart Function as a Parameter to Another Function
我正在查看文档,但未能找到问题的答案:
假设我有一个 returns a Future<String>
函数,我想将其嵌入到第二个函数中,该函数可以采用 Future<String>
类型的任何其他函数,语法 -如果我没记错的话-会是:
String functionTwo(Future<User> Function() putFunctionHere) async {
await code
return 'some string';
}
如果我不得不猜测 Dart 语法,我会说它是:
String functionTwo(Function putFunctionHere){...}
这引出了我的问题,为什么我们必须指定 Future<User> Function()
这是唯一的方法吗?
为什么我们必须在 Function
旁边加上括号
语法如下:
OutputType Function(ParameterType1 paramater1, ParameterType2 parameter2...) nameOfFunctionForUsageInsideTheMethod
因此可以阅读以下内容,我们将函数作为参数,该函数必须 return Future<User>
并且不带任何参数。
Future<User> Function() putFunctionHere
然后可以将此函数称为 putFunctionHere
,例如:
final value = await putFunctionHere()
我正在查看文档,但未能找到问题的答案:
假设我有一个 returns a Future<String>
函数,我想将其嵌入到第二个函数中,该函数可以采用 Future<String>
类型的任何其他函数,语法 -如果我没记错的话-会是:
String functionTwo(Future<User> Function() putFunctionHere) async {
await code
return 'some string';
}
如果我不得不猜测 Dart 语法,我会说它是:
String functionTwo(Function putFunctionHere){...}
这引出了我的问题,为什么我们必须指定 Future<User> Function()
这是唯一的方法吗?
为什么我们必须在 Function
语法如下:
OutputType Function(ParameterType1 paramater1, ParameterType2 parameter2...) nameOfFunctionForUsageInsideTheMethod
因此可以阅读以下内容,我们将函数作为参数,该函数必须 return Future<User>
并且不带任何参数。
Future<User> Function() putFunctionHere
然后可以将此函数称为 putFunctionHere
,例如:
final value = await putFunctionHere()