Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 颤振异步功能:_Future<;字符串>;子函数完成时返回而不是字符串值_Dart_Flutter - Fatal编程技术网

Dart 颤振异步功能:_Future<;字符串>;子函数完成时返回而不是字符串值

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()异步{ 印刷

为了找到一种处理嵌套异步函数的好方法,我正在用dartpad进行一些测试。在下面的示例中,我不明白为什么打印Future而不是value(level1String)?
输出为:
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());