Dart 颤振异步功能:_Future<;字符串>;子函数完成时返回而不是字符串值
为了找到一种处理嵌套异步函数的好方法,我正在用dartpad进行一些测试。在下面的示例中,我不明白为什么打印Future而不是value(level1String)?Dart 颤振异步功能:_Future<;字符串>;子函数完成时返回而不是字符串值,dart,flutter,Dart,Flutter,为了找到一种处理嵌套异步函数的好方法,我正在用dartpad进行一些测试。在下面的示例中,我不明白为什么打印Future而不是value(level1String)? 输出为: toto 在等待级别2之前 持续时间前 持续时间后 13 第2级之后 “_Future”/的实例我的问题就在这里,因为“在第2级”打印出来之后,我应该已经到达返回语句了 在级别1之后 是啊 导入'dart:convert'; 导入“dart:async”; 导入“dart:html”; void main()异步{ 印刷
输出为:
toto
在等待级别2之前
持续时间前
持续时间后
13
第2级之后
“_Future”/的实例我的问题就在这里,因为“在第2级”打印出来之后,我应该已经到达返回语句了
在级别1之后
是啊
导入'dart:convert';
导入“dart:async”;
导入“dart:html”;
void main()异步{
印刷品(“toto”);
等待打印(level1String());
打印(“第1级之后”);
}
Future level1String()异步{
打印(“等待级别2之前”);
打印(level2String());
打印(“第2级之后”);
返回“level1String”;
}
int-level2String(){
打印(“在期限之前”);
计时器(持续时间(秒数:3),(){
打印(“耶!”);
});
打印(“持续时间后”);
返回13;
}
应该是
print(await level1String());
level1String()
返回的是您需要等待的未来,而不是print()
应该是
print(await level1String());
level1String()
返回的是您需要等待的未来,而不是print()
print(await level1String());