gpt4 book ai didi

dart - flutter 异步函数 : _Future returned instead of string value when subfunction is done

转载 作者:IT王子 更新时间:2023-10-29 07:22:32 25 4
gpt4 key购买 nike

为了找到一种处理嵌套异步函数的好方法,我正在使用 dartpad 进行一些测试。在下面的示例中,我不明白为什么打印 _Future 而不是值 (level1String)?
输出是:
托托
在等待 level2 之前
在持续时间之前
结束后
13
2级后
'_Future' 的实例//我关心的是因为打印了“after level 2”我应该已经到达返回语句
一级之后
是啊!

import 'dart:convert';
import "dart:async";
import "dart:html";

void main() async {
print('toto');
await print(level1String());
print('after level 1');
}

Future<String> level1String () async {
print('before await level2');
print(level2String());
print('after level 2');
return 'level1String';
}

int level2String () {
print('before duration');
Timer(Duration(seconds: 3), () {
print('yeah!');
});
print('after duration');
return 13;
}

最佳答案

await print(level1String());

应该是

print(await level1String());

level1String() 正在返回您需要等待的 Future,而不是 print()

关于dart - flutter 异步函数 : _Future<String> returned instead of string value when subfunction is done,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54904465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com