【发布时间】:2020-02-19 18:47:51
【问题描述】:
我试图了解 dart 如何使用函数作为参数。我写了这段代码……
typedef Future<String> myFunction();
void main() {
A a = A();
a.f1(a._f1);
}
class A {
f1(myFunction func) async {
String x = await _f1;
print(x);
}
Future<String> _f1() {
Future.delayed(Duration(seconds: 3)).then((f) {
return "test";
});
}
}
我需要函数 f1 返回“test”,但我有这个错误:“Future Function()”类型的值不能分配给“String”类型的变量
如果我将 String x = await _f1 更改为 Future x = await _f1 我还有另一个错误.. 我尝试了很多 组合,他们都失败了。
有人可以修复我的代码吗?谢谢你。
【问题讨论】: