【发布时间】:2020-07-06 10:18:37
【问题描述】:
我只是在玩 Dart 期货,但遇到了一个错误:
未捕获的错误:NoSuchMethodError:找不到方法:'call$2' on null
然后我发现函数“结果”是原因。 但是,如果我为函数使用另一个名称,一切都会正常工作。
Future<String> result() async {
var res = await process();
return 'Your order is: $res';
}
Future<String> process() {
return Future.delayed(Duration(seconds: 2), () => 'Water');
}
void main() async {
print(await result());
}
谁能澄清一下?
【问题讨论】:
-
我编译了这段代码,它工作正常。据我所知,结果不是保留的函数或关键字。
-
我在 dartpad 上使用了它,但我确实得到了错误。不知道为什么。这可能是一个 dart2js 错误
-
我在 dartpad 上编译它并抛出错误,仅当函数名为
result并标记为async并等待未来。 (标记为async不会抛出任何异常) -
改方法名,问题解决。即使我也尝试过使用 dartpad,我得到了一个叫做脚本错误的错误
标签: dart